Iteratoren

TODO Strou4 587

Ein Iterator ist ein Objekt, das zu einem gegebenen Container ein Objekt daraus repräsentiert (oder auch keines möglicherweise).

Einen Iterator kann man manipulieren, indem man ihm einen Wert zuweist (beispielsweise das erste Element des Containers), und indem man ihn um ein Element vor- oder zurücksetzt.

Damit erfüllt ein Iterator in etwa die selbe Aufgabe wie ein Zeiger auf ein Feldelement: auch dieses kann man auf ein Element richten, sowie mit ++ oder - über die Elemente des Feldes wandern lassen. Tatsächlich können Iteratoren als Zeiger auf den zugrundeliegenden Datentyp eines Containers implementiert werden, wobei natürlich operator++() und operator-() so überschrieben werden müssen, daß sie den nicht auf ein im Speicher davor oder dahinter liegendes Objekt richten, sondern dem Container entsprechend das benachbarte Element finden.

Iteratoren sind in <iterator> definiert. Wenn man Iteratoren allerdings auf die Standardcontainer anwendet, dann braucht dafür kein #include geschrieben werden, weil die Headerdatei des jeweiligen Containers (<vector> etc.) ohnehin <iterator> einbindet.

Folgende Operationen sind mit Iteratoren möglich:

Man kann Iteratoren allerdings auch auf eigene Container anwenden, wenn sie ein paar Mindestanforderungen erfüllen:

AnyWare@Wachtler.de