调用成员函数向量中的对象

问题描述:

这是我在此之前关于retrieving and editing private members of objects in a vector的问题的延续。调用成员函数向量中的对象

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

我已经考虑过使用find_if,但对于向量中的每个对象都使用成员函数返回值作为条件没有运气。我不能用for_each来完成这项工作。

我之所以会创造一个额外的问题,是因为我一直在寻找比我想象的要长的时间,而且我越来越急于找到解决问题的办法。任何微调正确的方向将不胜感激!

创建一个仿函数:

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

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

    const AnotherObject& theValue; 
}; 

可以放入find_if

+0

@Hanandel你说得对,谢谢。 – wheaties 2011-04-29 22:06:32