void push_back( const T& value ); | (1) | |
void push_back( T&& value ); | (2) | (since C++11) |
Appends the given element value
to the end of the container.
value
.value
is moved into the new element.All iterators, including the end()
iterator, are invalidated. No references are invalidated.
value | - | the value of the element to append |
Type requirements | ||
-T must meet the requirements of CopyInsertable in order to use overload (1). |
||
-T must meet the requirements of MoveInsertable in order to use overload (2). |
(none).
Constant.
If an exception is thrown (which can be due to Allocator::allocate()
or element copy/move constructor/assignment), this function has no effect (strong exception guarantee).
#include <deque> #include <iostream> #include <iomanip> #include <string> 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'; }
Possible output:
std::deque `letters` holds: "abc" "def" Moved-from string `s` holds: ""
(C++11) | constructs an element in-place at the end (public member function) |
inserts an element to the beginning (public member function) |
|
removes the last element (public member function) |
|
creates a std::back_insert_iterator of type inferred from the argument (function template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/deque/push_back