(C++17) | ||||
| Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
| Associative | ||||
| Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
| Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Views | ||||
(C++20) | ||||
(C++23) | ||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
| Member types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Deduction guides(C++17) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
void push_back(const T& value); | (1) | (constexpr since C++20) |
void push_back( T&& value); | (2) | (since C++11) (constexpr since C++20) |
Appends a copy ofvalue to the end of the container.
If after the operation the newsize() is greater than oldcapacity() a reallocation takes place, in which case all iterators (including theend() iterator) and all references to the elements are invalidated. Otherwise only theend() iterator is invalidated.
Contents |
| value | - | the value of the element to append |
| (since C++11) | ||||||
Amortized constant.
If an exception is thrown (which can be due toAllocator::allocate() or element copy/move constructor/assignment), this function has no effect (strong exception guarantee).
If the move constructor of | (since C++11) |
Some implementations throwstd::length_error whenpush_back causes a reallocation that exceedsmax_size (due to an implicit call to an equivalent ofreserve(size() + 1)).
#include <iomanip>#include <iostream>#include <string>#include <vector> int main(){std::vector<std::string> letters; letters.push_back("abc");std::string s{"def"}; letters.push_back(std::move(s)); std::cout<<"std::vector 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::vector letters holds: "abc" "def"Moved-from string s holds: ""
(C++11) | constructs an element in-place at the end (public member function)[edit] |
| removes the last element (public member function)[edit] | |
| creates astd::back_insert_iterator of type inferred from the argument (function template)[edit] |