fill
あるシーケンスに対してイテレータで指定したところのから指定したところまで、特定の値で埋めます。
fill のサンプルコード
#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(v.begin(), v.end() - 5, 'X');
i = v.begin();
while (i != v.end()) {
cout << *i;
++i;
}
cout << endl;
return 0;
}
上記の実行結果は次の通りです。
./a.out
abcdefghijklmnopqrst
XXXXXXXXXXXXXXXpqrst
v.begin() から v.end() - 5 までが 'X' で埋められていることが分かります。