C++11新特性_范围-based for 循环
based for 循环介绍
范围 - based for 循环(Range-based for loop)是 C++11 引入的一种新的 for 循环语法,它可以更简洁地遍历容器和数组。
- 遍历数组:定义了一个整数数组
arr
,使用范围 - based for 循环for (int num : arr)
遍历数组中的每个元素,并将其打印输出。int num
表示每次循环中取出的数组元素,arr
是要遍历的数组。 - 遍历向量容器:定义了一个
std::vector<int>
类型的向量容器vec
,同样使用范围 - based for 循环for (int num : vec)
遍历容器中的每个元素,并将其打印输出。
以下是遍历容器和数组的代码示例:
#include <iostream>
#include <vector>int main() {// 遍历数组int arr[] = {1, 2, 3, 4, 5};std::cout << "遍历数组: ";for (int num : arr) {std::cout << num << " ";}std::cout << std::endl;// 遍历向量容器std::vector<int> vec = {6, 7, 8, 9, 10};std::cout << "遍历向量容器: ";for (int num : vec) {std::cout << num << " ";}std::cout << std::endl;return 0;
}
base for循环的优点
相比于传统的 for 循环或迭代器遍历方式,范围 - based for 循环的语法更加简洁,不需要手动管理索引或迭代器,使代码更易读和维护。例如,使用传统的 for 循环遍历数组的代码如下:
int arr[] = {1, 2, 3, 4, 5};
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i) {std::cout << arr[i] << " ";
}
可以看到,范围 - based for 循环避免了手动计算数组长度和管理索引的复杂性,使代码更加简洁直观。