变量c++中的变量名

Variable Variable Name in C++

本文关键字:变量名 c++ 变量      更新时间:2023-10-16

对于c++,考虑以下伪代码:

int sampleFunction (int selector)
{
  int var_1 = ............ ;
  int var_2 = ............ ;
  return var_[selector];
}

最后一行相当于代码:

if (selector == 1)
{
  return var_1;
}
else if (selector == 2)
{
  return var_2;
}

但是我需要在运行时使用另一个变量(selector)评估变量名。如何做到这一点?还有,C语言呢?

我通常使用MATLAB命令eval这样做。同样,在c#中,这可以通过反射来实现。

c++和C都是编译语言。变量名在运行时不存在。这使你的想法完全不可能。

c#是编译的,但是有一定程度的反射。类型名称可用,但我不认为变量名称可用。所以你运气不好,原因基本相同。

MATLAB是解释的,因此编译时和运行时之间没有区别,因此它确实有可用的变量名。代价是MATLAB速度慢。

int sampleFunction (int selector)
{
    int var_[] = {1, 2};
    return var_[selector];
}

其中1、2分别为var_1var_2的值