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

C++ C++;通过连接变量的名称获取变量值,c++,variables,reference,concatenation,C++,Variables,Reference,Concatenation,我不知道这是否可行,但我会尽力解释: 我有以下变量: 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); 向量v1;

我不知道这是否可行,但我会尽力解释:

我有以下变量:

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);
向量v1;
v1.推回(VAR1);
v1.推回(VAR2);
然后我迭代向量,以通过以下方式找到匹配项:

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;
   }

}
const char*param=“var1”//示例参数
对于(intx=0;x只需使用

这样,您可以执行以下操作:

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;
map-myMap;
myMap[“var1”]=“var1_值”;
myMap[“var2”]=“var2_值”;
//假设现在您在一个名为“str”的变量中输入了用户想要打印的变量
不能使用

这样,您可以执行以下操作:

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;
map-myMap;
myMap[“var1”]=“var1_值”;
myMap[“var2”]=“var2_值”;
//假设现在您在一个名为“str”的变量中输入了用户想要打印的变量
库特