unordered_map如何遍历
时间: 2023-11-11 08:05:33 浏览: 84
unordered_map有四种遍历方式:
1. 值传递遍历
2. 引用传递遍历
3. 使用迭代器遍历
4. 结构化绑定(c++17特性)
以值传递遍历为例,代码如下:
```
unordered_map<int,int> map={ pair<int,int>(1,2), pair<int,int>(3,4) };
for(pair<int,int> kv:map){
cout<<kv.first<<kv.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`,我们可以访问每个键和对应的值。
阅读全文