为了账号安全,请及时绑定邮箱和手机立即绑定

如何循环C ++地图的地图?

如何循环C ++地图的地图?

C++
FFIVE 2019-08-06 15:07:11
如何循环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;
    }}


查看完整回答
反对 回复 2019-08-06
  • 3 回答
  • 0 关注
  • 410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信