Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | container‎ | deque
 
 
 
 
void push_back( const T& value );
(1)
void push_back( T&& value );
(2) (seit 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.

Alle Iteratoren (einschließlich des end()-Iterators) werden ungültig. Keine Referenzen werden ungültig.

Inhalt

[bearbeiten] Parameter

value - Der Wert des anzuhängenden Elements
Typanforderungen
-
T muss die Anforderungen von CopyInsertable erfüllen, um Überladung (1) zu verwenden.
-
T muss die Anforderungen von MoveInsertable erfüllen, um Überladung (2) zu verwenden.

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Komplexität

Konstant.

[bearbeiten] Ausnahmen

Wenn eine Ausnahme ausgelöst wird (was aufgrund von Allocator::allocate() oder dem Kopier-/Verschiebekonstruktor/-zuweisungsoperator des Elements geschehen kann), hat diese Funktion keine Auswirkungen (starkes Ausnahme-Garantie).

[bearbeiten] Beispiel

#include <iomanip>
#include <iostream>
#include <string>
#include <deque>
 
int main()
{
    std::deque<std::string> letters;
 
    letters.push_back("abc");
    std::string s{"def"};
    letters.push_back(std::move(s));
 
    std::cout << "std::deque 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::deque letters holds: "abc" "def"
Moved-from string s holds: ""

[bearbeiten] Siehe auch

konstruiert ein Element direkt (in-place) am Ende
(public member function) [edit]
fügt ein Element am Anfang ein
(public member function) [edit]
entfernt das letzte Element
(public member function) [edit]
erstellt einen std::back_insert_iterator vom Typ, der aus dem Argument abgeleitet wird
(Funktionsvorlage) [bearbeiten]