Grundlegende Fragen zu Iteratoren
-
Hi Leute!
Ein paar Fragen:
1. Wenn ich zwei Listen habe und nur einen Iterator, kann ich diesen Iterator für beide Listen verwenden, oder brauche ich für jede Liste einen eigenen Iterator?
2. wie kann ich auf ein beliebiges Element zugreifen?
das funktioniert nämlich nicht: *(iterator + 4)
-
std::vector<std::string> data; std::vector<std::string>::iterator it = data.begin() + 4;Was geht daran nicht?
-
if( it == list1.end() ) it = list2.begin();Geht nur mit random-access-iteratoren, also nicht bei std::list
-
Ist doch uralt, das weiß doch schon jeder. Überlegt euch doch mal neue Fragen.
-
Wenn du einen nicht-Random-Access-Iterator um n Poistionen schieben willst gibts dazu std::advance, wenn du das aber öfters brauchst solltest du einen dementsprechnden Container verwenden.
(Warum bin ich nur so nett auf einmal?
)