Namespaces
Variants

std::back_insert_iterator

Von de.cppreference.net
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Grundlagen
Algorithmus-Konzepte und Hilfsmittel
Indirekt aufrufbare Konzepte
Gemeinsame Algorithmusanforderungen
(C++20)
(C++20)
(C++20)
Hilfsmittel
(C++20)
Iterator-Adapter
Bereichszugriff
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
Definiert in Header <iterator>
template< class Container >
class back_insert_iterator
    : public std::iterator<std::output_iterator_tag, void, void, void, void>
(bis C++17)
template< class Container >
class back_insert_iterator;
(seit C++17)

std::back_insert_iterator ist ein LegacyOutputIterator das Elemente an einen Container anhängt, für den es konstruiert wurde. Die push_back() Mitgliedsfunktion wird aufgerufen, wann immer dem Iterator (ob dereferenziert oder nicht) zugewiesen wird. Das Inkrementieren des std::back_insert_iterator ist ein Nullvorgang.

Mitgliedertypen

Mitgliedstyp Definition
iterator_category std:: output_iterator_tag
value_type void
difference_type

void

(bis C++20)

std::ptrdiff_t

(seit C++20)
pointer void
reference void
container_type Container

Die Member-Typen iterator_category , value_type , difference_type , pointer und reference müssen durch Vererbung von std:: iterator < std:: output_iterator_tag , void , void , void , void > erhalten werden.

(bis C++17)

Memberfunktionen

konstruiert einen neuen back_insert_iterator
(öffentliche Elementfunktion)
fügt ein Objekt in den assoziierten Container ein
(öffentliche Elementfunktion)
No-Op
(öffentliche Elementfunktion)
No-Op
(öffentliche Elementfunktion)

Member-Objekte

Mitgliedername Definition
container (geschützt) ein Zeiger vom Typ Container*

Beispiel

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
int main()
{
    std::vector<int> v;
    std::generate_n(
        std::back_insert_iterator<std::vector<int>>(v),
            // Oder std::back_inserter-Hilfsfunktion verwenden
            // Oder std::back_insert_iterator(v) C++17-Syntax verwenden
        10,
        [n = 0]() mutable { return ++n; }
    );
    for (int n : v)
        std::cout << n << ' ';
    std::cout << '\n';
}

Ausgabe:

1 2 3 4 5 6 7 8 9 10

Siehe auch

erstellt einen std::back_insert_iterator vom vom Argument abgeleiteten Typ
(Funktions-Template)
Iterator-Adapter für das Einfügen am Anfang eines Containers
(Klassen-Template)
Iterator-Adapter für das Einfügen in einen Container
(Klassen-Template)