C++怎么遍历二维map
时间: 2024-06-13 12:02:15 浏览: 8
在C++中,遍历二维`std::map`(也称为`std::unordered_map`或`std::map`,取决于你的实际需求)通常涉及到两层循环,因为`std::map`是基于键值对的数据结构,每一级键都是另一个`map`。以下是一个简单的示例,展示如何遍历二维`std::map`:
```cpp
#include <map>
#include <string>
// 假设你的二维map类型是这样的
typedef std::map<std::string, std::map<int, std::string>> MyMap;
void traverseTwoDimensionalMap(const MyMap& map) {
for (const auto& outer_pair : map) {
std::cout << "Outer Key: " << outer_pair.first << std::endl;
for (const auto& inner_pair : outer_pair.second) {
std::cout << "Inner Key: " << inner_pair.first << ", Value: " << inner_pair.second << std::endl;
}
}
}
int main() {
MyMap myMap;
// 填充map
myMap["first"] = {{"1", "value1"}, {"2", "value2"}};
myMap["second"] = {{"3", "value3"}, {"4", "value4"}};
traverseTwoDimensionalMap(myMap);
return 0;
}
```