0

这是我之前关于检索和编辑 vector 中对象的私有成员的问题的延续。

我有一个充满对象的向量,这些对象具有我需要访问的私有成员。我已经创建了用于返回每个私有成员的访问器函数,现在我正在寻找迭代对象向量的最佳方法,从中返回一个特定的私有成员并将其与给定变量进行比较,直到找到匹配项。

我考虑过使用find_if向量中的每个对象的成员函数返回值作为标准,但没有运气。

我也不能用for_each来做这项工作。

我提出一个额外问题的原因是,我在此停留的时间超过了我应有的时间,并且找到解决问题的方法变得非常紧迫。任何朝着正确方向的轻推将不胜感激!

4

1 回答 1

2

创建一个函子:

struct CompareTo{
    CompareTo(const AnotherObject& aValue) : theValue(aValue){}

    bool operator()(const Object& anObject) const{
        return anObject.getMemberVar() == theValue;
    }

    const AnotherObject& theValue;
};

可以放入find_if.

于 2011-04-29T21:44:48.640 回答