gpt4 book ai didi

C++通过连接变量名获取变量值

转载 作者:行者123 更新时间:2023-11-30 01:12:27 34 4
gpt4 key购买 nike

我不知道这是否可能,但我会尝试解释一下:

我有以下变量:

const char * VAR1 = "var1";
const char * VAR2 = "var2";

const char * VAR1_A = "etc1";
const char * VAR2_A = "etc2";

然后我声明一个 std:vector 并将变量放入:

vector <const char *> v1;
v1.push_back(VAR1);
v1.push_back(VAR2);

然后我遍历 vector 以通过这种方式找到匹配项:

const char * param = "var1"; //Example parameter

for(int x=0; x<v1.size(); x++){

//Found a match in the vector
if(param == v1[x]){

//HERE is the point. I need to get the value of variable "[v1[x](NAME)]_A"
//Something like:
const char * varname = getVarName(v1[x]) + "_A"; //This would contain VAR1_A
const char * varvalue = getVarValueByVarName(varname); //This would contain "etc1";
break;
}

}

这是解决我的问题的一个很好的理由,还是有解决这个问题的现有方法?

最佳答案

只需使用 std::map<std::string, std::string> .

这样你就可以做这样的事情:

map<string, string> myMap;
myMap["var1"] = "var1_value";
myMap["var2"] = "var2_value";
//say now you get input into a variable named 'str' for what variable the user wants to print
cout << myMap[str] << endl;

运营商[]如果键(在本例中为字符串)不存在,将添加到映射中,如果存在,将更改值。

关于C++通过连接变量名获取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221448/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com