Czy ja coś źle rozumiem?
https://pl.wikibooks.org/wiki/C%2B%2B/Iteratory
w przeciwieństwie do wskaźników, korzystając z iteratora nie musimy martwić się czy przypadkiem nie przekroczyliśmy zakresu pojemnika ani czy poprawnie wskazuje nam on na element.
iterator++ lub ++iterator // inkrementacja jest niemożliwa po przekroczeniu końca
kod:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector <int> v1 ={0,1,2,3,4,5,6,7,8,9};
v1. shrink_to_fit();
using it_v = vector <int> ::iterator;
it_v it(v1.begin());
for (int i=0;i<15;i++)cout <<*(it++)<<endl;
return 0;
}
wyjście
0
1
2
3
4
5
6
7
8
9
1785908013
62228
7607184
7602368
1802750765