【问题标题】:Calling member function of an object inside a vector调用向量内对象的成员函数
【发布时间】:2011-08-15 19:30:27
【问题描述】:

这是我之前关于retrieving and editing private members of objects in a vector的问题的延续。

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

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

我也无法使用for_each 来完成这项工作。

我提出另一个问题的原因是,我在这方面的时间已经超过了我应该考虑的时间,并且找到解决问题的方法变得非常紧迫。任何朝正确方向轻推将不胜感激!

【问题讨论】:

    标签: c++ object vector private members


    【解决方案1】:

    创建一个仿函数:

    struct CompareTo{
        CompareTo(const AnotherObject& aValue) : theValue(aValue){}
    
        bool operator()(const Object& anObject) const{
            return anObject.getMemberVar() == theValue;
        }
    
        const AnotherObject& theValue;
    };
    

    可以放入find_if

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 2012-12-13
      • 2012-01-02
      相关资源
      最近更新 更多