fill_n

Syntax:

    #include <algorithm>
    void fill_n( output_iterator start, SIZE n, const TYPE& val );

The fill_n() function is similar to fill. Instead of assigning val to a range of elements, however, fill_n() assigns val to the first n elements starting at start.

For example, the following code uses fill_n() to assign -1 to the first half of a vector of integers:

   vector<int> v1;
   for( int i = 0; i < 10; i++ ) {
     v1.push_back( i );
   }
 
   cout << "Before, v1 is: ";
   for( vector<int>::size_type i = 0; i < v1.size(); i++ ) {
     cout << v1[i] << " ";
   }
   cout << endl;
 
   fill_n( v1.begin(), v1.size()/2, -1 );
 
   cout << "After, v1 is: ";
   for( vector<int>::size_type i = 0; i < v1.size(); i++ ) {
     cout << v1[i] << " ";
   }
   cout << endl;

When run, this code displays:

   Before, v1 is: 0 1 2 3 4 5 6 7 8 9
   After, v1 is: -1 -1 -1 -1 -1 5 6 7 8 9

Related Topics: fill