c++hash map遍历
时间: 2023-08-28 07:17:55 浏览: 54
在C++中,你可以使用迭代器来遍历`std::unordered_map`(哈希映射)。下面是一个示例代码,展示了如何遍历一个`std::unordered_map`并打印出其中的键和值:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> myMap = {
{1, "apple"},
{2, "banana"},
{3, "orange"}
};
// 使用迭代器遍历unordered_map
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << "Key: " << it->first << ", Value: " << it->second << std::endl;
}
return 0;
}
```
在这个示例中,我们创建了一个`std::unordered_map`,其中键是整数,值是字符串。然后,我们使用迭代器`it`来遍历这个哈希映射。迭代器的初始值是`myMap.begin()`,表示指向第一个键值对的位置。我们通过比较迭代器是否等于`myMap.end()`来判断遍历是否结束。在每次循环中,我们使用`it->first`和`it->second`来访问当前键值对的键和值,并将它们打印出来。
运行这段代码,你会得到如下输出:
```
Key: 1, Value: apple
Key: 2, Value: banana
Key: 3, Value: orange
```
这样就完成了对`std::unordered_map`的遍历。希望这个示例对你有帮助!如果你还有其他问题,请随时提问。