fill_n
赋新值设置为指定数目的元素在范围中的特定元素。
template<class OutputIterator, class Size, class Type>
void fill_n(
OutputIterator _First,
Size _Count,
const Type& _Val
);
参数
_First
解决输出的迭代器第一个元素的位置将分配大小值 _Val。_Count
指定元素个数带符号或不带符号的整数类型将被赋予值。_Val
将要赋值的值分配给范围[_First,_First + _Count)的元素。
备注
目标范围必须是有效的;所有指针必须dereferenceable,并且,最后位置以访问按增量。 复杂是线性与该范围。
fill_n 有两个相关的窗体:
有关这些功能如何的信息的行为,请参见 经过检查的迭代器。
示例
// alg_fill_n.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <iostream>
int main() {
using namespace std;
vector <int> v1;
vector <int>::iterator Iter1;
int i;
for ( i = 0 ; i <= 9 ; i++ )
v1.push_back( 5 * i );
cout << "Vector v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
// Fill the last 5 positions with a value of 2
fill_n( v1.begin( ) + 5, 5, 2 );
cout << "Modified v1 = ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")" << endl;
}
Output
Vector v1 = ( 0 5 10 15 20 25 30 35 40 45 )
Modified v1 = ( 0 5 10 15 20 2 2 2 2 2 )
要求
标头: <algorithm>
命名空间: std