(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] |