title: sizeof instance of std::vector returns wrong number of elements in the vector
body: <p>I have a cycle, that defines a vector of GLfloat vertices coordinates. (three 1.0f floats describe the color, it doesn't matter)</p>
  <pre class="lang-cpp prettyprint-override"><code>std::vector&lt;GLfloat&gt; verticesUnitPoints;
  
  float xCurrent = -1.0f;
  
  for (int i = 0; i &lt;= 8; i++)
  {
      float yOffset = 0.01f;
  
              //first vertex
      verticesUnitPoints.push_back(xCurrent);
      verticesUnitPoints.push_back(yOffset);
      verticesUnitPoints.push_back(0.0f);
  
      verticesUnitPoints.push_back(1.0f);
      verticesUnitPoints.push_back(1.0f);
      verticesUnitPoints.push_back(1.0f);
  
              //second vertex
      verticesUnitPoints.push_back(xCurrent);
      verticesUnitPoints.push_back(-yOffset);
      verticesUnitPoints.push_back(0.0f);
  
      verticesUnitPoints.push_back(1.0f);
      verticesUnitPoints.push_back(1.0f);
      verticesUnitPoints.push_back(1.0f);
  
      xCurrent += 0.25f;
  }
  </code></pre>
  <p>I also have a glBufferData function, that must create a buffer with enough place for all vector elements.</p>
  <pre class="lang-cpp prettyprint-override"><code>glBufferData(GL_ARRAY_BUFFER, sizeof(verticesUnitPoints) * sizeof(GLfloat), &amp;verticesUnitPoints[0], GL_STATIC_DRAW);
  </code></pre>
  <p>But as I can see in output window, only small part of all vertices is rendered.</p>
  <p>I can easily fix it by just increasing the multiplier of sizeof(verticesUnitPoints) but I find this solution horrible.</p>