fill_n
fill はあるシーケンスに対してイテレータで指定したところのから指定したところまで、特定の値で埋めました。
fill_n は、イテレータで開始点と、特定の値で埋める要素数を指定します。
fill_n のサンプルコード
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<char> v;
vector<char>::iterator i;
for (int j = 0; j < 20; j++) {
v.push_back('a' + j);
}
i = v.begin();
while (i != v.end()) {
cout << *i;
++i;
}
cout << endl;
fill_n(v.begin() + 3, 5, 'X');
i = v.begin();
while (i != v.end()) {
cout << *i;
++i;
}
cout << endl;
return 0;
}
上記を実行すると次のようになります。
./a.out
abcdefghijklmnopqrst
abcXXXXXijklmnopqrst