我想找到一個匹配對象的對象指針向量。這裏有一個示例代碼來說明我的問題:如何使用指向C++中的對象的向量的查找算法?
class A {
public:
A(string a):_a(a) {}
bool operator==(const A& p) {
return p._a == _a;
}
private:
string _a;
};
vector<A*> va;
va.push_back(new A("one"));
va.push_back(new A("two"));
va.push_back(new A("three"));
find(va.begin(), va.end(), new A("two"));
我想找到第二個項目推入向量。但是因爲vector被定義爲一個指針集合,所以C++不使用我的重載操作符,而是使用隱式指針比較。在這種情況下,首選的C++解決方案是什麼?
我認爲它一定是find_if在代碼中? – esrkan 2008-11-03 15:21:52