这是我想要添加地图对象的向量
std::vector<cocos2d::Value> optionButton = std::vector<cocos2d::Value>();
for (int i = 0; i < answerButton.size(); i++)
{
value = answerButton.at(i).getDescription();
if(strcmp(value.c_str()," ") == 0)
{
CCLOG("Space Detected %s", "Space Detected");
}
else
{
std::map<std::string ,std::string> keyval;
keyval["letter"] = value;
keyval["is_actual"]= "true";
optionButton.push_back(keyval);
}
我想将&#34; keyval&#34;对象添加到&#34; optionButton&#34;向量。这可能吗??
答案 0 :(得分:1)
请验证这是否有效?
std::vector<std::unordered_map> optionButton = std::vector<std::unordered_map>();
for (int i = 0; i < answerButton.size(); i++){
value = answerButton.at(i).getDescription();
if(strcmp(value.c_str()," ") == 0) CCLOG("Space Detected %s", "Space Detected");
else {
std::unordered_map<std::string ,std::string> keyval;
keyval["letter"] = value;
keyval["is_actual"]= "true";
optionButton.push_back(keyval);
}
}
答案 1 :(得分:0)
您应该使用std::unordered_map
代替。
cocos2d::Value
是许多基元的包装类(int
,float
,double
,bool
,unsigned char
,{{1} }和char*
) 加std::string
,std::vector<Value>
和std::unordered_map<std::string,Value>
。
您不必更改代码。
我没有尝试,但我认为这应该有效(完全基于我引用的内容):
std::unordered_map<int,Value>