我想问一下如何迭代地图的地图。我确实有这张地图 - std::map <string, std::map <string, double> > myMap
,我想像二维数组一样迭代它。我对迭代器有点熟悉,但我之前没有迭代过2D地图。
我目前有一个循环使用我的迭代器,但我不知道如何迭代第二个映射。你能给我一些提示吗?
感谢您的回答
答案 0 :(得分:2)
这将在外部地图中打印一个键,后面是外部地图键的内部地图中的每个字符串/双重条目 - 然后对外部地图中的下一个键执行相同操作。
for(auto & outer_map_pair : myMap) {
cout << outer_map_pair.first << " contains: " << endl;
for(auto & inner_map_pair : outer_map_pair.second) {
cout << inner_map_pair.first << ": " << inner_map_pair.second << endl;
}
}
这可能会打印出来:
foo contains:
bar: 4.4
baz: 5.5
stuff contains:
a: 1.1
b: 2.2
c: 3.3