title: What to return for 'begin' and 'end' functions for my vector wrapper, for iterators?
body: <p>I have a class called <code>PointList</code>, which holds a vector of <code>Point *</code> objects as its main data.  I want to iterate over the points the same way you would a vector, kind of like this:</p>
  
  <pre><code>for (vector&lt;Point *&gt;::iterator it = point_list-&gt;begin(); it != point_list-&gt;end(); ++it)
  </code></pre>
  
  <p>Clearly the begin() and end() functions I write can just return the vector's begin/end functions that they hold, but what is the return type of these functions?</p>