#include <iostream>
#include <vector>
#include <algorithm>
class equ{
public:
equ(int val) : value(val) {}
bool operator()(int newval) {
return newval == value;
}
private:
int value;
};
int main() {
std::vector<int> v{1,2,3,4,5};
equ a(3);
std::replace_if(v.begin(), v.end(), a, 100);
// or std::replace_if(v.begin(), v.end(), equ(3), 100);
for (const auto &i:v) {
std::cout << i << std::endl;
}
}