使用变量的值作为C+;中的下一个变量的名称+; 我有一个关于C++的问题。p>

使用变量的值作为C+;中的下一个变量的名称+; 我有一个关于C++的问题。p>,c++,C++,我想使用变量的值作为下一个变量的名称 例如: 用户写入值 cin>>PlayerName; //PlayerName='John' 现在应用程序应该向变量“John”添加+1 怎么做? 至于< p>你不能在C++中这样做(至少不是没有疯狂的黑客行为)。您试图做的是“反射”——在运行时编辑您的程序。这在Python中非常简单,但是在C++中需要ShanaIGANS。 要回答您问题的核心,即“如何根据用户输入以编程方式编辑内容”,正如Neil Kirk所建议的那样,使用一个映射,其中键

我想使用变量的值作为下一个变量的名称

例如:

用户写入值

cin>>PlayerName;
//PlayerName='John'

现在应用程序应该向变量“John”添加+1

怎么做? 至于

< p>你不能在C++中这样做(至少不是没有疯狂的黑客行为)。您试图做的是“反射”——在运行时编辑您的程序。这在Python中非常简单,但是在C++中需要ShanaIGANS。 要回答您问题的核心,即“如何根据用户输入以编程方式编辑内容”,正如Neil Kirk所建议的那样,使用一个映射,其中键是一个字符串

然后你会做一些类似的事情

std::map<std::string, int> playerScores;
playerScores["john"] = 0;
cin >> playerName;
playerScores[playerName] += 1;
std::地图播放器核心;
playerScores[“john”]=0;
cin>>玩家名称;
playerScores[playerName]+=1;
<代码> > p>你不能在C++中这样做(至少没有疯狂的黑客行为)。您试图做的是“反射”——在运行时编辑您的程序。这在Python中非常简单,但是在C++中需要ShanaIGANS。
要回答您问题的核心,即“如何根据用户输入以编程方式编辑内容”,正如Neil Kirk所建议的那样,使用一个映射,其中键是一个字符串

然后你会做一些类似的事情

std::map<std::string, int> playerScores;
playerScores["john"] = 0;
cin >> playerName;
playerScores[playerName] += 1;
std::地图播放器核心;
playerScores[“john”]=0;
cin>>玩家名称;
playerScores[playerName]+=1;

1
添加到
John
意味着什么?您可以使用键为字符串的映射。但这会增加开销。在C++中没有内置的方法。或者,在这种情况下可能更快,添加<代码> 1 <代码>对<代码>约翰< /C> >意味着什么?你可以使用一个映射,其中键是一个字符串。但这会增加开销。在C++中没有内置的方法,或者在这种情况下可能更快,作为奖励,你不需要第二行:<代码>:ST:::Mault::Tale[]/Cord>如果密钥不存在,将初始化一个新值0。作为奖励,你不需要第二行:<代码>:ST::MAP::Talm []/Cord>如果没有密钥,则初始化一个新值到0。