📅  最后修改于: 2023-12-03 15:14:02.063000             🧑  作者: Mango
在 C++11 引入了基于范围的 for 循环(range-based for loop),使遍历容器和数组变得更加简洁和直观。基于范围的 for 循环可以用于迭代任何支持迭代器或重载了 begin() 和 end() 函数的容器。
基于范围的 for 循环的语法如下:
for (auto& element : container) {
// 执行代码
}
这里的 container
可以是数组、vector、list、set、map 等等。element
是每次迭代的元素的引用,可以通过它访问和修改容器中的值。循环会依次遍历容器内的每个元素,直到遍历完所有元素为止。
让我们看一些实际的代码示例来理解基于范围的 for 循环:
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 遍历 vector 容器
for (auto& num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
// 修改 vector 容器中的元素
for (auto& num : numbers) {
num *= 2;
}
// 再次遍历 vector 容器
for (auto& num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
输出结果将会是:
1 2 3 4 5
2 4 6 8 10
在上述示例中,我们首先创建了一个存储一些整数的 vector 容器。然后我们使用基于范围的 for 循环遍历 vector 容器并打印出每个元素。接下来,我们再次使用基于范围的 for 循环修改 vector 容器中的每个元素的值,并再次打印出结果。
需要注意的是,基于范围的 for 循环中的 element
是一个引用,可以直接对容器中的元素进行修改。
基于范围的 for 循环可以应用于任何支持迭代器或拥有 begin() 和 end() 函数的容器,包括数组、vector、list、set、map 等等。因此,它为我们提供了一种遍历数据结构的方便方法,无需手动管理迭代器,简化了代码的编写和阅读。
基于范围的 for 循环是 C++11 中引入的一项特性,它简化了遍历容器和数组的过程,使代码更加简洁和易读。通过遍历容器中的每个元素,我们可以轻松访问和修改容器中的值。无论是对于新手程序员还是有经验的开发者,基于范围的 for 循环都是一项非常有用的工具。