title: Vector, Size_type, and Encapsulation
body: <p>I have a class with a private data member of type <code>vector&lt; A*&gt;</code>.</p>
  
  <p>The class has two public methods that actually use <code>vector&lt;A*&gt;::size_type</code>:</p>
  
  <ol>
  <li>Method returning number of elements in the vector</li>
  <li>Method returning element in the vector by index</li>
  </ol>
  
  <p>I can add to public section of the class the following typedef:</p>
  
  <blockquote>
    <p>typedef vector::size_type SIZE_t;</p>
  </blockquote>
  
  <p>but IMHO it exposes too many details about class implementation.</p>
  
  <p>Another approach is to use <code>size_t</code>. </p>
  
  <p>What do you think?</p>