C++ 使用变量访问类的公共(public)成员

标签 c++ class members

我需要通过局部变量调用已定义(公共(public))类的成员,我想知道如何才能做到这一点。我的问题是在类中调用哪个变量取决于一系列值,因此我确实需要使用变量来调用成员而不是显式键入它的名称。例如:

我有类假设,有很多成员变量(所有感兴趣的都是 double 类型)。假设我有五个潜在变量想在 Assumptions 中调用,但只有其中一个:

  1. VariableStem_One
  2. VariableStem_Two
  3. VariableStem_Three
  4. VariableStem_Four
  5. VariableStem_Five

我的代码当前生成一个字符串,其内容等于上述五个项之一 - 现在我只需要调用该成员变量 - 我可以间接调用吗?所以我有一个名为“VariableKey”的变量,其内容等于上面五个变量之一 - 我想进行以下调用:

假设.VariableKey

但是将 VariableKey 解释为间接引用。

这也是我的实际问题的抽象/简化 - 可能值的数量更像是 75,所以我想尽可能避免编码出每个变量个体。

提前致谢!

最佳答案

您不能直接在 C++ 中执行此操作。一种更正常的方法是使用一个枚举来指示要使用的变量,并设置它。然后你有一个数组/值 vector ,枚举器充当该容器的索引。

您还可以创建一个将字符串映射到特定值的映射,但这可能会增加额外的开销。

关于C++ 使用变量访问类的公共(public)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178477/

相关文章:

c++ - 为什么只有 std::list::sort()?

c++ - C++ : undefined reference to `main' collect2: error: ld returned 1 exit status中的编译错误

c++ - 我如何为数组中的元素锁定 MUTEX,而不是为整个数组锁定

class - 引用 'this'的F#结构成员导致错误

PHPStorm - 找不到内部对象的方法

c++ - C++中如何限制对象私有(private)数据成员的修改?

c++ - 重载引用与 const 引用

具有相同键的(嵌套)字典的 Pythonic 替代品?

C++类成员

java - 检查一些成员不为空