Iteratoren vs. for-loops
-
Hallo!
Was ist eigentlich der Vorteil von Iteratoren gegenüber der Abarbeitung über loops (z.b. bei std:vector)?
grüße,
-
Weiß nicht. Was ist der Vorteil von Operatoren gegenüber Konstanten? Soll heißen: Die Frage ist komisch.
-
pixsta schrieb:
Was ist eigentlich der Vorteil von Iteratoren gegenüber der Abarbeitung über loops (z.b. bei std:vector)?
Dass du unabhängig vom Containertyp bist (solange dessen Iteratoren den Anforderungen genügen). So sind z.B. die STL-Algorithmen überhaupt erst sinnvoll möglich.
-
Servus,
pixsta schrieb:
Was ist eigentlich der Vorteil von Iteratoren gegenüber der Abarbeitung über loops (z.b. bei std:vector)?
versuche, wann immer möglich, die STL zu verwenden. Damit eliminierst du schonmal einige Fehler im Code, die du vllt. reingehackt hättest. Außerdem wird der Code übersichtlicher, wenn man z.b. den copy Algo verwendet, anstatt ständig mit der for-Schleife drübertzurennen.
-
pixsta schrieb:
Was ist eigentlich der Vorteil von Iteratoren gegenüber der Abarbeitung über loops (z.b. bei std:vector)?
for (EinIteratorTyp it=einIterator; it!=andererIterator; ++i) { ... }Iterator verwendet in der "loop"
-
Iteratoren sind einfach ein nettes Modell zum Durchlaufen von und Zugriff auf Elemente eines Containers. Bei Vektoren mag es nicht so offensichtlich sein, wieso man Iteratoren verwenden sollte aber wenn du einen Vektor wie ein Array in einer for-Schleife benutzt, verwendest du ja den Operator [] zum Zugriff auf die Elemente. Eine verkettete Liste hat diesen Operator zum Beispiel nicht und die verschiedenen Iteratortypen mit auf den Container zugeschnittenen Fähigkeiten ermöglichen trotzdem eine einheitliche Nutzung verschiedener Containertypen.