如何循环C ++地图的地图?如何std::map在C ++中循环?我的地图定义为:std::map< std::string, std::map<std::string, std::string> >例如,上面的容器包含如下数据:m["name1"]["value1"] = "data1";m["name1"]["value2"] = "data2";m["name2"]["value1"] = "data1";m["name2"]["value2"] = "data2";m["name3"]["value1"] = "data1";m["name3"]["value2"] = "data2";如何遍历此地图并访问各种值?
3 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
for(std::map<std::string, std::map<std::string, std::string> >::iterator outer_iter=map.begin(); outer_iter!=map.end(); ++outer_iter) { for(std::map<std::string, std::string>::iterator inner_iter=outer_iter->second.begin(); inner_iter!=outer_iter->second.end(); ++inner_iter) { std::cout << inner_iter->second << std::endl; }}
或者在C ++ 0x中更好:
for(auto outer_iter=map.begin(); outer_iter!=map.end(); ++outer_iter) { for(auto inner_iter=outer_iter->second.begin(); inner_iter!=outer_iter->second.end(); ++inner_iter) { std::cout << inner_iter->second << std::endl; }}
- 3 回答
- 0 关注
- 410 浏览
添加回答
举报
0/150
提交
取消