繁体   English   中英

在std :: map中插入std :: map

[英]insert std::map in std::map

我有一个std::map<string,std::map<string,int>>的容器。

  1. 如何将数据插入此类容器? 我是否必须将内部地图作为附加变量? 代码应该在MSVC 2010和XCode 4.2(Snow Leopard)下编译。

  2. Snow Leopard(10.6)下的XCode 4.2是否支持这样的容器?

只需使用重载[]运算符即可完成:

std::map<string,std::map<string,int> > data;
data["foo"]["bar"] = 10;

是的,Xcode 4.2支持它们,我个人在OSX下使用它们没有问题。

作为一个简单的答案,您需要有一个临时地图:

std::map<string, int> tempMap;
std::string tempString;

然后,您需要在设置后将这些插入到上面的地图中。

tempMap.insert(std::pair<string, std::map<string, int>>(tempString, tempMap))

然后你可以像Jacks的回答一样访问它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM