title: push_back in std::list appears to be causing memory leaks
body: <p>I have a std::list of Vectors (a very simple class for 2d vectors I wrote, not the std data structure.)  Here is that class:</p>
  
  <pre><code>class Vertex
  {
  public:
  Vertex()
  {
      x = 0;
      y = 0;
  }
  Vertex(const Vertex &amp;vert) {
      x = vert.x;
      y = vert.y;
  }
  Vertex(float getX, float getY)
  {
      x = getX;
      y = getY;
  }
  Vertex &amp; operator=(const Vertex &amp;rhs)
  {
      x = rhs.x;
      y = rhs.y;
  
      return *this;
  }
  
  float x, y;
  };
  </code></pre>
  
  <p>I have several lists of these vectors, on which I perform operations like this (all these lists are declared as list:</p>
  
  <pre><code>if (vertList.size() != 0)
  {
      Vertex newVert(x, y);
  
      if (loops == true)
      {
          if (axesList.size() != 0)
              axesList.pop_back();
      }
  
      Vertex normal = computeNormal(vertList.back(), newVert);
      axesList.push_back(normal);
  
      if (loops == true)
      {
          normal = computeNormal(newVert, vertList.front());
          axesList.push_back(normal);
      }
  }
  
  //actually adds the vertex
  vertList.push_back(Vertex(x, y));
  </code></pre>
  
  <p>According to the leaks tool in Instruments, these lists are leaking memory (the responsible frame is listed as "std::__1::list>::push_back(Vertex const&amp;)" )
  As I don't have any instances declared with new, I am flummoxed by this leaked memory.  Does anyone have any idea what may be causing it?</p>