std::deque::assign
From cppreference.com
| void assign( size_type count, const T& value ); |
(1) | |
| template< class InputIt > void assign( InputIt first, InputIt last ); |
(2) | |
| void assign( std::initializer_list<T> ilist ); |
(3) | (since C++11) |
Replaces the contents of the container.
1) Replaces the contents with
count copies of value value2) Replaces the contents with copies of those in the range
[first, last).
This overload has the same effect as overload (1) if InputIt is an integral type. |
(until C++11) |
This overload only participates in overload resolution if InputIt satisfies InputIterator. |
(since C++11) |
3) Replaces the contents with the elements from the initializer list
ilist.All iterators, pointers and references to the elements of the container are invalidated. The past-the-end iterator is also invalidated.
Contents |
[edit] Parameters
| count | - | the new size of the container |
| value | - | the value to initialize elements of the container with |
| first, last | - | the range to copy the elements from |
| ilist | - | initializer list to copy the values from |
[edit] Complexity
1) Linear in
count2) Linear in distance between
first and last3) Linear in ilist.size()
[edit] Example
The following code uses assign to add several characters to a std::deque<char>:
Run this code
#include <deque> #include <iostream> int main() { std::deque<char> characters; characters.assign(5, 'a'); for (char c : characters) { std::cout << c << '\n'; } return 0; }
Output:
a a a a a
[edit] See also
constructs the deque (public member function) |