fill()は、コンテナの要素に値を入れます。コンテナを特定の値で初期化したり再初期化するときに使うことができます。
fill()は次の書式で使います。
#include<algorithm>
template void fill(iter first, iter last, const T& x);
firstは最初の要素の反復子、lastは最後の要素の反復子、xは要素に入れる値です。
また、次の形式の関数は現在のフィルキャラクタを返します。
#include<ios>
basic_ios::fill() const;
次の形式の関数は、フィルキャラクタとしてchを保存し、それ以前のフィルキャラクタの値を返します。
#include<ios>
E basic_ios::fill(E ch);
次の例は、vectorのサイズを7に設定してから、fill()を使って要素をすべて値0で初期化する例です。
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
vector< int > v;
v.resize(7);
fill(v.begin(), v.end(), 0);
for(int i=0; i<v.size(); i++)
cout << v[i] << " ";
cout << endl;
return 0;
}
実行結果は次のようになります。
0 0 0 0 0 0 0