##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::vector::push_back

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

[edit template]

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.

### [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>:

Run this code

    #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

emplace_back (C++11) | constructs elements in-place at the end (public member function) [edit]
pop_back | removes the last element (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/vector/push_back&oldid=42770"