unordered_map 遍历
时间: 2023-10-28 13:02:11 浏览: 87
要遍历 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`,我们可以访问每个键和对应的值。
相关问题
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遍历value
要遍历`unordered_map`中的值(value),你可以使用迭代器来访问每个键值对,然后通过获取迭代器的值部分来访问相应的值。以下是一个示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> myMap = {
{1, "one"},
{2, "two"},
{3, "three"}
};
// 使用迭代器遍历值
for (const auto& pair : myMap) {
const std::string& value = pair.second;
std::cout << value << std::endl;
}
return 0;
}
```
上述代码中,我们创建了一个`unordered_map`,然后使用`for`循环和迭代器遍历每个键值对。在循环中,我们通过`pair.second`来获取每个键值对的值,然后将其打印输出。
输出结果:
```
one
two
three
```
这样你就可以通过迭代器遍历`unordered_map`中的所有值了。
阅读全文