[英]insert std::map in std::map
我有一個std::map<string,std::map<string,int>>
的容器。
如何將數據插入此類容器? 我是否必須將內部地圖作為附加變量? 代碼應該在MSVC 2010和XCode 4.2(Snow Leopard)下編譯。
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.