Namespaces
Variants

std::list<T,Allocator>::push_back

Von de.cppreference.net

 
 
 
 
void push_back( const T& value );
(1)
void push_back( T&& value );
(2) (since C++11)

Hängt das gegebene Element value an das Ende des Containers an.

1) Das neue Element wird als Kopie von value initialisiert.
2) value wird in das neue Element verschoben.

Keine Iteratoren oder Referenzen werden ungültig.

Parameter

value - der Wert des anzuhängenden Elements

Typanforderungen
-
Wenn die folgende Bedingung erfüllt ist, ist das Verhalten undefiniert:
1) T ist nicht CopyInsertable in list .
2) T ist nicht MoveInsertable in list .
(seit C++11)

Rückgabewert

(kein)

Komplexität

Konstante.

Ausnahmen

Wenn eine Exception ausgelöst wird (was aufgrund von Allocator::allocate() oder Element-Kopier-/Verschiebekonstruktor/-zuweisung geschehen kann), hat diese Funktion keine Wirkung ( starke Exception-Garantie ).

Beispiel

#include <iomanip>
#include <iostream>
#include <string>
#include <list>
int main()
{
    std::list<std::string> letters;
    letters.push_back("abc");
    std::string s{"def"};
    letters.push_back(std::move(s));
    std::cout << "std::list letters holds: ";
    for (auto&& e : letters)
        std::cout << std::quoted(e) << ' ';
    std::cout << "\nMoved-from string s holds: " << std::quoted(s) << '\n';
}

Mögliche Ausgabe:

std::list letters holds: "abc" "def"
Moved-from string s holds: ""

Siehe auch

Konstruiert ein Element direkt am Ende
(öffentliche Elementfunktion)
Fügt ein Element am Anfang ein
(öffentliche Elementfunktion)
Entfernt das letzte Element
(öffentliche Elementfunktion)
Erstellt einen std::back_insert_iterator vom vom Argument abgeleiteten Typ
(Funktionstemplate)