Range-based for 循环
引言
C++11 引入了一种更加简洁和直观的方式来遍历容器中的元素:基于范围的 for 循环(Range-based for 循环)。这种语法不仅简化了代码,还提高了代码的可读性和维护性。本文将详细介绍 Range-based for 循环的用法,并结合代码示例进行说明。
Range-based for 循环的基本语法
Range-based for 循环的基本语法如下:
for (declaration : range) {
// 循环体
}
其中:
declaration
是一个变量,用于接收每次迭代的元素。range
是一个表示要遍历范围的对象,例如数组、标准容器(如std::vector
)、自定义范围等。
示例 1:遍历数组
C++11 允许直接通过 Range-based for 循环来遍历数组:
#include <iostream>
int main() {
int arr[] = {
1, 2, 3, 4, 5};
for (int value : arr) {
std::cout << value << " ";
}
return 0;
}
输出:
1 2 3 4 5
在这个例子中,value
每次迭代时会自动获取数组中的下一个元素,避免了使用下标访问的繁琐操作。
示例 2:遍历 std::vector
std::vector
是 C++ 标准库中常用的容器,Range-based for 循环也可以方便地用于遍历 std::vector
: