fill_n
原型:
#include <algorithm> void fill_n( output_iterator start, SIZE n, const TYPE& val );
函数fill_n()类似于fill. 与之不同的是fill_n()将val赋值给start开始的前n个元素.
例如, 下面的代码使用fill_n()将vector的前面一半元素赋值为-1:
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;
运行后将产生如下输出:
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