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' で埋められていることが分かります。