Difference between revisions of "Template:cpp/container/push back"
From cppreference.com
m (demo move version of push_back too, in the example) |
m (+output) |
||
Line 62: | Line 62: | ||
std::cout << "{{{1}}} holds: "; | std::cout << "{{{1}}} holds: "; | ||
for (auto&& i : numbers) std::cout << std::quoted(i) << ' '; | for (auto&& i : numbers) std::cout << std::quoted(i) << ' '; | ||
− | std::cout << " | + | std::cout << "\nMoved-from string holds " << std::quoted(s) << '\n'; |
} | } | ||
| output= | | output= | ||
− | + | vector holds: "abc" "def" | |
− | + | Moved-from string holds "" | |
}} | }} | ||
Revision as of 08:01, 20 May 2015
void push_back( const T& value ); |
(1) | (since {std}) |
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.Information on iterator invalidation is copied from here |
Contents |
Parameters
value | - | the value of the element to append |
Type requirements |
Return value
(none)
Complexity
Templated information. See page source. |
Exceptions
If an exception is thrown, this function has no effect (strong exception guarantee).
Example
Run this code
#include <{{{1}}}> #include <iostream> #include <iomanip> int main() { std::{{{1}}}<std::string> numbers; numbers.push_back("abc"); std::string s = "def"; numbers.push_back(std::move(s)); std::cout << "{{{1}}} holds: "; for (auto&& i : numbers) std::cout << std::quoted(i) << ' '; std::cout << "\nMoved-from string holds " << std::quoted(s) << '\n'; }
Output:
vector holds: "abc" "def" Moved-from string holds ""
See also
(C++11) |
constructs an element in-place at the end (public member function of std::{{{1}}} )
|
inserts an element to the beginning (public member function of std::{{{1}}} )
| |
removes the last element (public member function of std::{{{1}}} )
|