调用成员函数向量中的对象
问题描述:
这是我在此之前关于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
。
@Hanandel你说得对,谢谢。 – wheaties 2011-04-29 22:06:32