std::vector::push_back

From cppreference.com
< cpp‎ | container‎ | vector

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.

1) The new element is initialized as a copy of value.
2) value is moved into the new element.

If the new size() is greater than capacity() then all iterators and references (including the past-the-end iterator) are invalidated. Otherwise only the past-the-end iterator is invalidated.

Contents

[edit] Parameters

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

[edit] Return value

(none)

[edit] Complexity

Amortized constant.

[edit] Exceptions

If an exception is thrown, this function has no effect (strong exception guarantee).

If T's move constructor is not noexcept and the copy constructor is not accessible, vector will use the throwing move constructor. If it throws, the guarantee is waived and the effects are unspecified. (since C++11)

[edit] Example

The following code uses push_back to add several integers to a std::vector<int>:

#include <vector>
#include <iostream>
 
int main()
{
    std::vector<int> numbers;
 
    numbers.push_back(42);
    numbers.push_back(314159); 
 
    for (int i : numbers) { // c++11 range-based for loop
        std::cout << i << '\n';
    } 
 
    return 0;
}

Output:

42
314159

[edit] See also

(C++11)
constructs elements in-place at the end
(public member function)
removes the last element
(public member function)