std::vector<T,Allocator>::assign (3) - Linux Manuals

std::vector<T,Allocator>::assign: std::vector<T,Allocator>::assign

NAME

std::vector<T,Allocator>::assign - std::vector<T,Allocator>::assign

Synopsis


void assign( size_type count, const T& value ); (1)
template< class InputIt > (2)
void assign( InputIt first, InputIt last );
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 value
2) 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 LegacyInputIterator. (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.

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

Complexity


1) Linear in count
2) Linear in distance between first and last
3) Linear in ilist.size()

Example


The following code uses assign to add several characters to a std::vector<char>:
// Run this code


  #include <vector>
  #include <iostream>


  int main()
  {
      std::vector<char> characters;


      characters.assign(5, 'a');


      for (char c : characters) {
          std::cout << c << '\n';
      }


      return 0;
  }

Output:


  a
  a
  a
  a
  a

See also


              constructs the vector
constructor (public member function)