C/C++ 入門

ホーム > STL の使い方 > fill_n

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
ホーム > STL の使い方 > fill_n