【问题标题】:Is it possible in C++ to access a variable based on its name (introspection)在 C++ 中是否可以根据变量的名称访问变量(自省)
【发布时间】:2018-09-25 19:42:00
【问题描述】:

我想知道这是否可以在 C++ 中完成。我有一个函数需要用户输入 x 和 y 边界,我需要验证它,使用一个函数会更容易。这在 C++ 中可能吗?这是一些伪代码。

void bounds(char i){
  // if i is 'x' 
  std::cin >> [i]Lower    // store to xLower
  // verify
}
// then do
bounds('x');
bounds('y');

【问题讨论】:

  • 这与有效的 c++ 代码相差甚远。
  • 我不明白你在做什么
  • @πάνταῥεῖ 这是伪代码。抱歉,我是 C++ 新手。
  • 您可以将名称映射到成员指针或设置器函数(视情况而定)。

标签: c++ introspection


【解决方案1】:

不,C++ 代码不能做任何取决于变量名称的事情。例如如果您的变量命名为 x 或 y,则不会影响代码的行为。

【讨论】:

  • Python,在某种程度上,带有 dir(obj)、getattr() 和 setattr()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-22
  • 2019-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-26
相关资源
最近更新 更多