std::deque::push_back

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.

All iterators, including the past-the-end iterator, are invalidated. No references are invalidated.

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

Return value

(none).

Complexity

Constant.

Exceptions

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

Example

#include <deque>
#include <iostream>
#include <iomanip>
 
int main()
{
    std::deque<std::string> numbers;
 
    numbers.push_back("abc");
    std::string s = "def";
    numbers.push_back(std::move(s));
 
    std::cout << "deque holds: ";
    for (auto&& i : numbers) std::cout << std::quoted(i) << ' ';
    std::cout << "\nMoved-from string holds " << std::quoted(s) << '\n';
}

Output:

deque holds: "abc" "def" 
Moved-from string holds ""

See also

(C++11)
constructs an element in-place at the end
(public member function)
inserts an element to the beginning
(public member function)
removes the last element
(public member function)
doc_CPP
2016-10-11 10:02:21
Comments
Leave a Comment

Please login to continue.