#include <vector> #include <iostream> #include <algorithm> using namespace std; struct MyClass { int id; bool flag; MyClass(int iid):id(iid),flag(true){} void operator()(MyClass& c){ if(c.id==this->id){c.flag=false;} } }; int main(int, char *[]) { vector<MyClass> tVector; for(int i=0;i<10;i++){tVector.push_back(MyClass(i));} for_each(tVector.begin(),tVector.end(),MyClass(2)); for (int i=0;i<tVector.size();i++){ cout << tVector[i].flag << endl;} return 0; }; 这么写会遭人讨厌,但是种不错的思路,吼吼~