const std::vector::iterator iter = // iter acts
like a T* const
vec.begin();
*iter = 10; // OK, changes what iter points
to
++iter; // error! iter is const
std::vector::const_iterator cIter = // cIter
acts like a const T*
vec.begin();
*cIter = 10; // error! *cIter is const
++cIter; // fine, changes cIter