C ++ Library - <iterator>
Einführung
Es ist ein zeigerähnliches Objekt, das mit ++ inkrementiert, mit * dereferenziert und mit! = Mit einem anderen Iterator verglichen werden kann
Kategorien
| Kategorie | Eigenschaften | gültige Ausdrücke | |||
|---|---|---|---|---|---|
| Alle Kategorien | kopierkonstruierbar , kopierzuweisbar und zerstörbar |
|
|||
| Es kann erhöht werden |
|
||||
| Direktzugriff | Bidirektional | Nach vorne | Eingang | Es unterstützt Gleichheits- / Ungleichheitsvergleiche |
|
| Es kann als r-Wert dereferenziert werden | *ein a-> m |
||||
| Ausgabe | Es kann als Wert dereferenziert werden (nur für veränderbare Iteratortypen ) |
* a = t * a ++ = t |
|||
| Standard konstruierbar | X a; X () |
||||
| Multi-Pass: Weder Dereferenzierung noch Inkrementierung beeinflussen die Dereferenzierbarkeit | { b = a; *a++; *b; } |
||||
| Es kann dekrementiert werden | --ein ein-- *ein-- |
||||
| Es unterstützt arithmetische Operatoren + und - | a + n n + a ein a - b |
||||
| Es unterstützt Ungleichheitsvergleiche ( < , > , <= und > = ) zwischen Iteratoren | a <b a> b a <= b a> = b |
||||
| Es unterstützt zusammengesetzte Zuweisungsoperationen + = und - = | a + = n a - = n |
||||
| Es unterstützt den Offset-Dereferenzierungsoperator ( [] ). | ein] | ||||
Funktionen
| Sr.Nr. | Funktionen & Beschreibung |
|---|---|
| 1 | voraus Es rückt den Iterator um n Elementpositionen vor. |
| 2 | Entfernung Es gibt den Abstand zwischen den Iteratoren zurück. |
| 3 | Start Es wird verwendet, um einen Iterator zu starten. |
| 4 | Ende Es wird verwendet, um einen Iterator zu beenden. |
| 5 | prev Es wird verwendet, um den Iterator zum vorherigen Element zu bringen. |
| 6 | Nächster Es wird verwendet, um den Iterator zum nächsten Element zu bringen. |
Iteratorgeneratoren
| Sr.Nr. | Iteratorgeneratoren & Beschreibung |
|---|---|
| 1 | back_inserter Es erstellt einen Back Insert Iterator. |
| 2 | Inserter Es erstellt einen Insert-Iterator |
| 3 | make_move_iterator Es werden Bewegungsiteratoren erstellt. |
Klassen
| Sr.Nr. | Klassen & Beschreibung |
|---|---|
| 1 | Iterator Es iteriert Basisklasse. |
| 2 | iterator_traits Es ist ein Iterator Merkmale. |
Vordefinierte Iteratoren
| Sr.Nr. | Vordefinierte Iteratoren & Beschreibung |
|---|---|
| 1 | reverse_iterator Es ist ein umgekehrter Iterator. |
| 2 | move_iterator Es ist ein Bewegungsiterator. |
| 3 | back_insert_iterator Es ist ein Back-Insert-Iterator. |
| 4 | front_insert_iterator Es ist ein Front Insert Iterator. |
| 5 | insert_iterator Es wird verwendet, um einen Iterator einzufügen. |
| 6 | istream_iterator Es ist ein Eingabestream-Iterator. |
| 7 | ostream_iterator Es ist ein Ausgabestream-Iterator. |
| 8 | istreambuf_iterator Es ist ein Iterator für den Eingabestream-Puffer. |
| 7 | ostreambuf_iterator Es ist ein Ausgabestream-Puffer-Iterator. |
Kategorie-Tags
| Sr.Nr. | Kategorie-Tags & Beschreibung |
|---|---|
| 1 | input_iterator_tag Geben Sie die Iteratorkategorie ein. |
| 2 | output_iterator_tag Ausgabe-Iterator-Kategorie. |
| 3 | forward_iterator_tag Iterationskategorie weiterleiten. |
| 4 | bidirektionaler_iterator_tag Bidirektionale Iteratorkategorie. |
| 5 | random_access_iterator_tag Iteratorkategorie mit wahlfreiem Zugriff. |