我有一个std::map<string,std::map<string,int>>
的容器。
如何将数据插入此类容器?我是否必须将内部地图作为附加变量?代码应该在MSVC 2010和XCode 4.2(Snow Leopard)下编译。
Snow Leopard(10.6)下的XCode 4.2是否支持这样的容器?
答案 0 :(得分:3)
只需使用重载的[]
运算符即可完成:
std::map<string,std::map<string,int> > data;
data["foo"]["bar"] = 10;
是的,Xcode 4.2支持它们,我个人在OSX下使用它们没有任何问题。
答案 1 :(得分:0)
作为一个简单的答案,您需要有一个临时地图:
std::map<string, int> tempMap;
std::string tempString;
然后,您需要在设置后将这些插入到上面的地图中。
tempMap.insert(std::pair<string, std::map<string, int>>(tempString, tempMap))
然后你就可以像杰克的回答一样访问它们。