unordered_map怎么遍历
时间: 2023-11-30 21:43:22 浏览: 303
以下是三种unordered_map遍历的方法:
1. 值传递遍历:
```c++
unordered_map<int, int> map = { {1, 2}, {3, 4} };
for (pair<int, int> kv : map) {
cout << kv.first << kv.second << endl;
}
```
2. 使用auto:
```c++
unordered_map<int, int> map = { {1, 2}, {3, 4} };
for (auto& kv : map) {
cout << kv.first << kv.second << endl;
}
```
3. 使用迭代器遍历:
```c++
unordered_map<int, int> map = { {1, 2}, {3, 4} };
for (unordered_map<int, int>::iterator it = map.begin(); it != map.end(); it++) {
cout << it->first << it->second << endl;
}
```
相关问题
unordered_map遍历
unordered_map可以使用多种方式进行遍历。根据提供的引用内容,有以下几种方式可以实现unordered_map的遍历:
1. 值传递遍历:使用for循环和pair进行遍历,如所示。这种方式会将unordered_map中的每个键值对作为一个pair对象进行遍历,通过kv.first和kv.second可以分别获取键和值。
2. 使用auto引用遍历:使用auto关键字和引用进行遍历,如所示。这种方式会自动推导出pair类型的键值对,通过kv.first和kv.second可以分别获取键和值。
3. 使用迭代器遍历:使用迭代器进行遍历,如所示。通过unordered_map::iterator迭代器可以实现对unordered_map的遍历,通过it->first和it->second可以分别获取键和值。
根据具体需求和喜好,可以选择适合的遍历方式来对unordered_map进行遍历。
unordered_map 遍历
要遍历 unordered_map,你可以使用迭代器来访问其中的每个键值对。以下是一个示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> myMap;
myMap["apple"] = 1;
myMap["banana"] = 2;
myMap["orange"] = 3;
// 使用迭代器遍历unordered_map
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << "Key: " << it->first << ", Value: " << it->second << std::endl;
}
return 0;
}
```
在上面的示例中,我们创建了一个名为 `myMap` 的 unordered_map,并向其中添加了三个键值对。然后,我们使用 `begin()` 和 `end()` 函数获取 unordered_map 的起始和结束迭代器,并使用循环遍历每个键值对。通过 `it->first` 和 `it->second`,我们可以访问每个键和对应的值。
阅读全文