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