我不知道这是否可行,但我会试着解释一下:
我有以下变量:
const char * VAR1 = "var1"; const char * VAR2 = "var2"; const char * VAR1_A = "etc1"; const char * VAR2_A = "etc2";
然后我声明了一个std:vector
并将变量放入:
vectorv1; v1.push_back(VAR1); v1.push_back(VAR2);
然后我迭代向量以这种方式找到匹配:
const char * param = "var1"; //Example parameter for(int x=0; x这是我的问题的一个很好的推理,还是有一个存在的方法?
1> Zach P..:只是用
std::map
.这样你就可以这样做:
mapmyMap; 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;
[]
如果密钥(在本例中为字符串)不存在,操作员将添加到地图,如果密钥(如果是),则将更改该值.