cpp for (auto it : hashtable)
时间: 2024-02-15 15:04:57 浏览: 70
这是 C++11 引入的一种新的循环语法,称为范围 for 循环(Range-based for loop),也称为 foreach 循环。它可以更方便地遍历容器(例如数组、vector、map、unordered_map 等)中的元素。
对于哈希表 unordered_map 或 map,使用范围 for 循环时,it 会自动遍历容器中的每一个键值对,其中 it 的类型为容器的迭代器类型,可以使用 auto 关键字来自动推导。
例如,对于 unordered_map,可以使用以下语法:
```cpp
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<std::string, int> hashtable = {
{"apple", 1},
{"banana", 2},
{"orange", 3},
{"pear", 4}
};
for (auto it : hashtable) { // 遍历 unordered_map
std::cout << it.first << " => " << it.second << std::endl; // 输出每个键值对
}
return 0;
}
```
这里使用范围 for 循环遍历 unordered_map,输出每个键值对的 key 和 value。
需要注意的是,范围 for 循环不能用于修改容器中的元素,如果需要修改容器中的元素,应该使用迭代器进行遍历。
阅读全文