Предположим, что a
std::vector<int> v
//and ...
for(int i =0;i<100;++i)
v.push_back(i);
теперь я хочу итератор, пусть, 10-й элемент вектора.
не делая следующий подход
std::vector<int>::iterator vi;
vi = v.begin();
for(int i = 0;i<10;i++)
++vi;
поскольку это испортит преимущество использования итератора с произвольным доступом для вектора.