replace_copy
#include <algorithm>
#include <iostream>
#include <vector>
using std::vector,
std::replace_copy,
std::cerr;
class Temp{
public:
int a, b;
Temp(){};
Temp(int i, int j):a(i), b(j){}
};
bool operator==(const Temp& l, const Temp& r)
{
return l.a == r.a && l.b == r.b;
}
typedef vector<Temp> my_vector;
int main(){
my_vector a = {Temp(8, 64), Temp(1, 1), Temp(1, 5), Temp(2, 4), Temp(3, 9), Temp(2, 4)};
my_vector b;
b.resize(a.size());
auto print = [] (Temp t){
cerr << "Temp(" << t.a << ", " << t.b << ")\n";
};
for_each(a.begin(), a.end(), print);
cerr << "\n";
my_vector::iterator i = replace_copy(a.begin(), a.end(), b.begin(), Temp(2, 4), Temp(7, 49));
cerr << "b after replace_copy\n";
for_each(b.begin(), b.end(), print);
return 0;
}
C++ Examples© 2024 TBD