对于 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;
}
但是我需要在运行时使用另一个变量(选择器
)来评估变量名称。
如何实现这一目标?另外,C语言呢?
我通常使用 MATLAB 命令 eval
来执行此操作。
另外,在 C# 中,这可以通过反射来实现。
最佳答案
C++ 和 C 都是编译语言。变量名在运行时不存在。这让你的想法完全不可能实现。
C# 已编译,但反射程度有限。 类型名称可用,但我认为变量名称不可用。因此,出于基本相同的原因,您运气不好。
MATLAB 是解释型的,因此编译时和运行时之间没有区别,因此它确实具有可用的变量名称。代价是 MATLAB 很慢。
关于c# - C++ 中的变量变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25384584/