fill_n [C++ Reference]
Keywords: stl,algorithm,fill_n
Date: 2009-10-09T01:29:36-0700

## 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