Предположим, у меня есть
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;
, так как это испортит преимущество имеющий итератор произвольного доступа для вектора.