Hes*_*aqi -4 c c# c++ arrays matlab
对于C++,请考虑以下伪代码:
int sampleFunction (int selector)
{
int var_1 = ............ ;
int var_2 = ............ ;
return var_[selector];
}
Run Code Online (Sandbox Code Playgroud)
最后一行等同于代码:
if (selector == 1)
{
return var_1;
}
else if (selector == 2)
{
return var_2;
}
Run Code Online (Sandbox Code Playgroud)
但我需要在运行时使用另一个变量(selector)来评估变量名称.怎么做到这一点?那么,C语言呢?
我通常使用MATLAB命令eval来执行此操作.此外,在C#中,这可以通过Reflection实现.
C++和C都是编译语言.变量名在运行时不存在.这使你的想法完全不可能.
编译C#,但反射的限制有限.类型名称可用,但我认为变量名称不是.因此,基本上同样的原因,你运气不好.
解释MATLAB,因此编译时和运行时之间没有区别,因此它具有可用的变量名.价格是MATLAB很慢.