今回は、replace_copy関数の簡単な使い方を示します。置き換えてコピーをします。
replace_copy(コピー元の最初の要素の反復子, コピー元の最後の要素の次の反復子,
コピー先の先頭の要素の反復子, 古い値, 置き換え後の値);
例を見た方が早いですね。
// replace.cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector <int> v, cp(30);
vector <int>::iterator pv, pvend, pcp;
int i;
for (i = 0; i < 20; i++) {
v.push_back(i);
}
for (i = 0; i < 20; i++)
cout << v[i] << endl;
pv = v.begin();
pvend = v.end();
pcp = cp.begin();
cout << "10を3に置き換えます" << endl;
replace_copy(pv, pvend, pcp, 10, 3);
for (i = 0; i < 20; i++)
cout << *pcp++ << endl;
return 0;
}
結果はどのようになるか想像がつきますね。
Update Jan/15/2005 By Y.Kumei