title: Size of empty vector
body: <p>The following program on running with <code>g++ 4.8.2</code> gave the output 12 on a 32-bit Linux system:</p>
  
  <pre><code>vector&lt;char&gt; v;
  cout &lt;&lt; sizeof(v) &lt;&lt; endl;
  </code></pre>
  
  <p>I saw <a href="https://stackoverflow.com/questions/19740287/is-an-empty-vector-the-size-of-its-struct">this</a> and know that <code>sizeof(v)</code> could be implementation specific. Still, I was wondering what might be causing that vector to have a size of 12. What I think is that the iterators <code>v.begin()</code> and <code>v.end()</code> might be contributing to 8 bytes of the size. Am I correct? If yes, what is contributing to the remaining 4 bytes of size? If not, what are these 12 bytes all about?</p>