c# - C++ 中的变量变量名

标签 c# c++ c arrays matlab

对于 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/

相关文章:

c# - 我添加了一个用户并将他分配给一个角色,当我使用 Membership.GetAllUsers() 时它没有返回

python - Windows 操作系统上 Python 和 Win32 之间的 IPC

c - Little Endian 与 Big Endian 数据结构会改变我的答案吗?

c - malloc 错误,我无法理解使用具有单独链接的哈希表

c# - 使用 Visual Studio 创建 T-SQL 表单

c# - 我如何检测我的显示器现在设置的来源?

c# - 如何索引嵌套列表?

c++ - 为什么元组有 uses_allocator 而对却没有?

c++ - 为测试创建多个相似标识符的宏

c++ - 什么时候在 c/c++ 中强制使用 } 之后的分号?