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

Usunięta treść Dodana treść
lit.
Usunięcie błędnych informacji; Korzystając z iteratorów nadal można przekroczyć zakres kontenera. Iterator może wskazywać na niepoprawny element (np. iterator zwracany przez funkcje/metody ::end(), ::rend()).
Linia 1:
== Wstęp ==
Idea iteratorów opiera się na tym, by ułatwić i usprawnić pracę na kontenerach. Daje możliwość dotarcia do danego składnika pojemnika bez konieczności znajomości jego struktury. Słusznie używanie iteratora przypomina pracę przy pomocy zwykłych wskaźników. JestIterator onumożliwia jednakwygodny czymśdostęp więcej niż wskaźnik - w przeciwieństwiesekwencyjny 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. Tym wszystkim zajmuje się sam iterator, co pozwala programiście skupić się na innych problemach w trakciewszystkich tworzeniaelementów programukontenera.
 
Czym więc jest iterator? Jest on pewnego rodzaju uogólnionym wskaźnikiem. Strukturalnie iterator jest obiektem, który wskazuje na inny obiekt. Można używać gotowych iteratorów dla kontenerów z STL przez dołączenie biblioteki '''<iterator>''' i w przestrzeni nazw '''std'''.
 
Istnieją pewne analogie między iteratorem a wskaźnikiem. Przede wszystkim znajomo wyglądają wyrażenia:
Linia 22:
Można inkrementować iterator – aby wskazywał następny składnik:
<source lang="cpp">
iterator++ lub ++iterator // inkrementacja jest niemożliwa po przekroczeniu końca
</source>