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. |