std::deque<T,Allocator>::push_back
Von cppreference.com
| 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
Führen Sie diesen Code aus
#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
| (C++11) |
konstruiert ein Element direkt (in-place) am Ende (public member function) |
| fügt ein Element am Anfang ein (public member function) | |
| entfernt das letzte Element (public member function) | |
| erstellt einen std::back_insert_iterator vom Typ, der aus dem Argument abgeleitet wird (Funktionsvorlage) |