Namensräume
Varianten
Aktionen

std::back_insert_iterator

Von cppreference.com
< cpp‎ | iterator
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Primitive
Algorithmus-Konzepte und Hilfsprogramme
Indirekte aufrufbare Konzepte
Gemeinsame Algorithmus-Anforderungen
(C++20)
(C++20)
(C++20)
Dienstprogramme
(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, der Elemente an einen Container anhängt, für den er konstruiert wurde. Die push_back()-Memberfunktion des Containers wird aufgerufen, wenn der Iterator (egal ob dereferenziert oder nicht) zugewiesen wird. Das Inkrementieren des std::back_insert_iterator ist eine No-Op.

Inhalt

[bearbeiten] Member-Typen

Mitgliedertyp Definition
iterator_category std::output_iterator_tag
value_type void
difference_type

void

(bis C++20)

std::ptrdiff_t

(seit C++20)
Zeiger void
Referenz void
container_type Container

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

(bis C++17)

[bearbeiten] Member functions

konstruiert einen neuen back_insert_iterator
(public member function) [bearbeiten]
fügt ein Objekt in den zugehörigen Container ein
(public member function) [bearbeiten]
no-op
(public member function) [bearbeiten]
no-op
(public member function) [bearbeiten]

[bearbeiten] Member objects

Member-Name Definition
container (protected) ein Zeiger vom Typ Container*

[bearbeiten] Example

#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),
            // Or use std::back_inserter helper
            // Or use std::back_insert_iterator(v) C++17's syntax
        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

[bearbeiten] See also

erstellt einen std::back_insert_iterator vom Typ, der aus dem Argument abgeleitet wird
(Funktionsvorlage) [bearbeiten]
Iterator-Adapter für die Einfügung am Anfang eines Containers
(Klassenvorlage) [bearbeiten]
Iterator-Adapter für die Einfügung in einen Container
(Klassenvorlage) [bearbeiten]