变量c++中的变量名
Variable Variable Name in C++
对于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_1
、var_2
的值
相关文章:
- 你能重载对象变量名本身返回的内容吗
- 在C/C++中将变量名定义为__00000001有什么好处吗
- C++变量名(可以将 main 声明为变量,但对于其他函数名称则不然)
- C++ - 声明中变量名后面的括号
- 如何使替换 c 函数的变量名成为错误?
- 是否可以创建没有变量名的变量
- fstream库,试图创建一个变量名为(c++)的文件
- 一个数组C++中的消息和变量名
- 在变量名后声明带有 () 的非内部类型与不使用变量名的行为不同。即 std::map<int,char>x(); - 这是怎么回事?
- 数组的变量名和该数组的地址有什么区别?
- 如何将变量名设置为字符串?C++
- 类中具有相同变量名的多重继承
- 如何在从.txt文件中读取时不重复相同的变量名
- 在循环中使用相同的变量名可以吗
- C++保留符号作为C变量名
- 在C++中,在给定的相同作用域内声明相同的变量名
- 为什么类名与"::"一起使用在变量名之前?
- 在同级之间继承相同的变量名
- __COUNTER__变量名中
- 按变量名遍历结构