【问题标题】:How to input the name of a variable and use the variable in a function in c++? [duplicate]如何输入变量的名称并在c ++中的函数中使用该变量? [复制]
【发布时间】:2018-02-03 15:38:12
【问题描述】:

我希望能够输入已经存在的变量的名称,然后在函数中使用该变量。有没有办法做到这一点?

例如,我的代码可能如下所示:

int a = 1;
int b = 2;

char variableName;
std::cin >> variableName;

有没有一种方法可以输入“a”作为变量名,然后在函数中使用变量a。

【问题讨论】:

  • 变量名通常在编译后完全消失。
  • 这根本不是 C++ 的工作原理。

标签: c++


【解决方案1】:

作为一种编译语言,C++ 不支持运行时访问变量名——基本上,编译后变量名消失了,生成的可执行文件不再知道它们。
因此,您无法在运行时访问它们。

【讨论】:

    【解决方案2】:

    不,这是不可能的。你可以做的是你可以使用指针。指针最适合用于动态对象的创建和传递给函数。

    更多关于指针的信息可以研究here

    【讨论】:

      【解决方案3】:

      不,没有具体的方法可以做到这一点,因为 C++ 不支持对这些名称的运行时访问,但您可以使用 std::unordered_map 实现类似的行为,如下所示:

      std::unordered_map<std::string, int> variables;
      variables["a"] = 1;
      variables["b"] = 2;
      
      std::string variableName;
      std::cin >> variableName;
      
      // Check to see if 'variableName' exists in the map, and then
      // access it by index for whatever you want.
      

      【讨论】:

        猜你喜欢
        • 2020-04-21
        • 2018-10-09
        • 1970-01-01
        • 1970-01-01
        • 2013-05-16
        • 2016-08-27
        • 2017-04-21
        • 2013-01-30
        • 2021-04-25
        相关资源
        最近更新 更多