Was ist ein Iterator?

Ein iterator ist ein Computersprachekonstruieren, das ein Programm eine Gruppe Datenwerte oder Information auf eine systematische Art durchlesen lässt. Iterators zulassen auch einzelnen Zugang zu jedem Mitglied der Gruppe, ohne den Rest der Gruppe zu beeinflussen. Sie benutzt in vielen scripting und Programmiersprachen, einschließlich C++, Java, PHP und Perl. Ihre Implementierung ist Unabhängiges der Gegenstände, die sie scannen, also können sie irgendeine Art Gruppe Gegenstände scannen.

Das Reisen durch eine Gruppe Gegenstände mit einem iterator benannt normalerweise Wiederholung oder Überquerung. In den meisten Computersprachen verwendet iterators, um Gruppen der in Verbindung stehenden benannten Gegenstände zu überqueren Ansammlungen. Ihre Implementierungen in der Lage sind sehr flexibel und, mit Ansammlungen jeder möglicher Größe verwendet zu werden. Sie sind im Allgemeinen sicher als einfacher Elementzugang in einer Ansammlung, weil ihre Strecke auf die Elemente in der Ansammlung eingeschränkt. Während es noch möglich ist, auf einen out-of-bounds Index zurückzugreifen, ist es nicht wahrscheinlich, wenn das iterator richtig verwendet.

Iterators definiert, initialisiert und behandelt im Gedächtnis anders als abhängig von der Computersprache, in der sie benutzt. Die allgemeine Syntax für sie, durch Kontrast, ist in den meisten Sprachen ähnlich. Es gibt zwei verschiedene Arten Syntax, die für iterators benutzt werden können, definiert, wie ausdrücklich oder implizit.

Ausdrückliche iterators mit.einbeziehen die Kreation eines iterator Gegenstandes ehen, und dieser Gegenstand benutzt dann in einer Traversalschleife über den Elementen einer Ansammlung. Implizite iterators mit.einbeziehen eine spezielle Art Schleifenstruktur leifen, die den iterator Gegenstand verursacht ohne sie, der vorher spezifiziert. Ob ausdrückliche oder implizite iterators für jeden bestimmten Traversal normalerweise verwendet, abhängt von der Präferenz des Programmierers, da Unterschiede bezüglich der Menge des Codes oder der Leistung zwischen ihnen unwesentlich sind. Der größte Unterschied zwischen den ausdrücklichen und impliziten iterators ist, dass ausdrückliche iterators die Kreation eines iterator im Quellencode zeigen, während implizite iterators nicht dieses zeigen.

Wann immer eine Ansammlung Gegenstände vorhanden ist, kann ein iterator verwendet werden, um sie zu scannen. Abhängig von den Fähigkeiten einer Computersprache, können iterators auf Reihen, Diagrammen, Listen und einer Vielzahl anderer Ansammlungsarten verwendet werden. Iterators sind eine verhältnismäßig überall vorhandene Eigenschaft von Programmiersprachen, und die meisten Standardsprachen haben eine Art Funktionalität vorhanden. Einige Computersprachen erlauben iterators mit zusätzlichen Eigenschaften, wie Beschränkungen auf der Zahl Zeiten, die ein Element erreicht. Da diese Eigenschaften nicht allgemeinhin sind, gibt es manchmal Weisen, in denen sie von den iterators selbst unabhängig eingeführt werden können.