C++ Vector Library - assign() Function



Description

The C++ function std::vector::assign() assign new values to the vector elements by replacing old ones. It modifies size of vector if necessary.

If memory allocation happens allocation is allocated by internal allocator.

Declaration

Following is the declaration for std::vector::assign() function form std::vector header.

C++98

template <class InputIterator>
void assign(InputIterator first, InputIterator last);

C++11

template <class InputIterator>
wvoid assign (InputIterator first, InputIterator last);

Parameters

  • first − Input iterator to the initial position in range.

  • last − Input iterator to the final position in range.

Return value

None

Exceptions

This member function never throws exception. If value of (first, last) is not valid index then behavior is undefined.

Time complexity

Linear i.e. O(n)

Example

The following example shows the usage of std::vector::assign() function.

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v(5, 100);

   cout << "Initial vector contents" << endl;
   for (int i = 0; i < v.size(); ++i)
      cout << v[i] << endl;

   cout << endl;
  
   cout << "Modified vector contents" << endl;
  
   v.assign(v.begin(), v.begin() + 2);
   for (int i = 0; i < v.size(); ++i)
      cout << v[i] << endl;
  
   return 0;
}

Let us compile and run the above program, this will produce the following result −

Initial vector contents
100
100
100
100
100
Modified vector contents
100
100
vector.htm
Advertisements