c++ - 在 vector 中调用对象的成员函数

标签 c++ object vector private members

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

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

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

我也无法使用 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

关于c++ - 在 vector 中调用对象的成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837690/

相关文章:

c++ - 使用模板打印文档

c++ - 使用虚拟方法将对象写入和读取到二进制文件

c# - 无法在对象中存储字典值

java - 通过循环创建多个同名对象

c++ - 显示深度优先搜索图遍历 C++

vector - 借用改变 Vector 的类型

c++ - 在 C++11 中初始化 vector 的 vector

c++ - 我在这里违反了 OOP 设计指南吗?几个有趣的设计泡菜

c++ - 如何使用参数将信号从 C++ 连接到 QML 函数

java - 为连接到服务器应用程序的每个客户端打开一个新的数据库连接?