如何在C ++中使用字符串或char来按名称标识变量?

时间:2016-12-11 20:41:33

标签: c++

我的意思是,如何使用我可以迭代的char来识别变量? 所以如果:

int cheese = 1337;
string identifier = "cheese";

如何使用此字符串“identifier”来标识变量cheese并返回其值?

2 个答案:

答案 0 :(得分:7)

你没有。

相反,您可能采用不同的方式布局数据,可能使用键值存储?

std::map<std::string, int> myData;
myData["cheese"] = 1337;

// ...

const std::string identifier = "cheese";
std::cout << myData[identifier] << '\n';   // 1337

答案 1 :(得分:1)

看起来您正在寻找map

#include <iostream>
#include <map>

using namespace std;

int main()
{
    map<string, int> vars;
    vars.insert(make_pair("cheese", 1337));
    vars.insert(make_pair("geese", 1338));
    if (vars.find("cheese") != vars.end())
        cout << vars.at("cheese");
    return 0;
}