簡體   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