A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../language/../container/vector/push_back.html below:

std::vector<T,Allocator>::push_back - cppreference.com

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 of value to the end of the container.

If after the operation the new size() is greater than old capacity() a reallocation takes place, in which case all iterators (including the end() iterator) and all references to the elements are invalidated. Otherwise only the end() iterator is invalidated.

[edit] Parameters value - the value of the element to append Type requirements -If the following condition is met, the behavior is undefined: (since C++11) [edit] Complexity

Amortized constant.

[edit] Exceptions

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).

If the move constructor of T is not noexcept and T is not CopyInsertable into *this, vector will use the throwing move constructor. If it throws, the guarantee is waived and the effects are unspecified.

(since C++11) Notes

Some implementations throw std::length_error when push_back causes a reallocation that exceeds max_size (due to an implicit call to an equivalent of reserve(size() + 1)).

[edit] Example

Possible output:

std::vector letters holds: "abc" "def"
Moved-from string s holds: ""
[edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4