https://zhuanlan.zhihu.com/p/139515439
范围基for循环
范围基for循环(Range-based for loop)是 C++11 引入的一种简化的循环结构,用于遍历容器(如数组、向量、集合、映射等)中的元素
基本语法:
for (declaration : container) {
// 对每个元素执行的操作
}
- declaration:这里是一个类型定义,通常使用
auto
自动推导数据类型,使用const防止修改原数据,并可以使用引用来避免复制 - container:要遍历的容器对象
示例:
vector<int> v = {1, 2, 3, 4, 5}; //遍历vector容器
for(const auto &num : v) {
cout << num << endl;
}
unordered_map<string, int> mp = {{"Alice", 30}, {"Bob", 25}};
for(const auto &[name, age] : mp) {
cout << name << ": " << age << endl;
}
//如果不在意key或者value,可用占位符_忽略其中一项
for(const auto &[_, age] : mp) {
cout << age << endl;
}