You can think of an iterator as a pointer to elements of a container. All STL (Standard Template Library) containers provide the basic iterator type along with its const counterpart. The const iterator of a container should be used when the elements accessed through it are not supposed to be modified, like in the following example:
void main() { string s ("hello world"); // s contains 11 characters string::const_iterator p = s.begin(); //p is a const iterator pointing to the first element of s size_t n = 0; while ( p < s.end() ) { // a loop that count the number of chars in s n++; p++; // move to the next element of s } cout<