C++/Iteratory: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Rose05 (dyskusja | edycje)
Rose05 (dyskusja | edycje)
Linia 52:
1) '''w przód''' - czyli od początku do końca np.:
kontener<typ kontenera>::iterator iter; //'' iterator do przodu''
początek struktury wyznacza metoda begin(); zaś koniec end();
 
2) '''od końca''' - czyli od końca do początku np.:
kontener<typ kontenera>::reverse_iterator iter; //'' iterator od końca''
skanować możemy od rbegin(); do rend(); , co można utożsamiać z odwróconym początkiem i odwróconym końcem.
 
Niestety używanie metod rbegin(); i rend(); do skanowania w przód spowoduje błąd kompilacji. Problem ukazuje poniższy fragment kodu:
Linia 126:
 
Należy jeszcze podkreślić, że przy użyciu odwróconego iteratora, by przejrzeć wszystkie elementy pojemnika nie używamy – a ++! Rzeczywiście, chcemy przejrzeć wektor od końca do początku i właśnie ku temu służy odwrócony iterator – zdefiniowany w nim porządek strukturalny jest odwrotny do porządku w zwykłym iteratorze.
 
:Powyższe przykłady pokazują jak dużym ułatwieniem dla korzystania z iteratorów są przeładowane operatory inkrementacji i dekremntacji: '''operator++''' i '''operator--''', których używamy tu jak na zwykłej liczbie int. Mamy tu także '''operator=''' podstawienia, jak i porównanie iteratorów - '''operator<'''.