这是我之前关于retrieving and editing private members of objects in a vector的问题的延续。
我有一个向量的对象,其中包含我需要访问的私有成员。 我创建了用于返回每个私有成员的访问器函数,现在正在寻找迭代对象向量的最佳方法,从中返回特定的私有成员并将其与给定变量进行比较,直到找到匹配为止。 /强>
我考虑过使用find_if
,但是对于向量中的每个对象使用成员函数返回值作为标准,我们没有运气。
我也没有能够使用for_each
来完成这项工作。
我之所以要提出一个额外的问题,是因为我一直在为这个问题停留的时间比我应该更长,而且我找到解决问题的方法变得非常紧迫。任何朝着正确方向的推动都将非常感激!
答案 0 :(得分:2)
创建一个仿函数:
struct CompareTo{
CompareTo(const AnotherObject& aValue) : theValue(aValue){}
bool operator()(const Object& anObject) const{
return anObject.getMemberVar() == theValue;
}
const AnotherObject& theValue;
};
可以放入find_if
。