Ich wollte das eigentlich schon länger mal sagen, nur dann war Free-Hack ziemlich langsam und meine Antwort kam nicht an... nochmal schreiben war mir dann zu doof.

Im Grunde hast du 3 Möglichkeiten dir die Elemente eines vectors anzuschauen:
- Pointer
- Zählerschleife (for(int zaehler = 0; zaehler < blah; zaehler++))
- Iteratoren
(Iteratoren sind intern übrigens meißt als Pointer implementiert)

Im Grunde sind alle gleichwertig und können parallel verwendet werden.
Praktisch bei Iteratoren ist jedoch, dass sie übersichtlicher sind.
Bei normalen Pointern musst du viel casten und bei Zählerschleifen wird der Term manchmal sehr lang (sagen wir du hast einen mehrdimensionalen Vector: meinVector[a][b][c][d][e]).

Zudem benutzen viele Funktionen der Klassen vector und string Iteratoren.

Also zusammenfassend:
Es ist im Grunde egal was du benutzt, aber Iteratoren sind praktischer und werden von den Standardklassen benutzt.