Vector的查找问题
class A{
char b[256];
char a[256];//主键
}
int main() {
A a;
strcpy(a.a,"01");
strcpy(a.b,"b");
A b;
strcpy(a.a,"02");
strcpy(a.b,"bb");
vector<A> vect;
vect.push_back(a);
vect.push_back(b);
//find_if ?
}
如果只知道根据"01"查找a
[解决办法]
这样是不行:
#include <vector>#include <algorithm>using namespace std;class A{public: char b[256]; char a[256];//主键};bool comT(A a_com){ return (!strcmp(a_com.a,"02")); }int main() { A a; strcpy(a.a,"01"); strcpy(a.b,"b"); A b; strcpy(b.a,"02"); strcpy(b.b,"bb"); vector<A> vect; vect.push_back(a); vect.push_back(b); vector<A>::iterator iter = find_if(vect.begin(),vect.end(),&comT); return 0; //find_if ?}