C++基于范围for循环的用法(附带实例)
在 C++11 中引入了一种新的 for 循环语法,称为范围 for 循环(Range-Based for Loop)。这种新的 for 循环语法使在遍历容器或数组时可以更简洁、更直观。
范围 for 循环的基本语法如下:
在循环体内部,可以对 element 进行各种操作,例如打印元素的值、对元素进行计算等。元素的类型既可以选择 auto,也可以选择时机的具体类型来定义。
范围 for 循环会自动根据容器或数组的类型推断出 element 的类型,不需要显式地声明类型。此外,它还支持容器的起始和结束迭代器并会自动进行迭代器的遍历和判断,避免了传统 for 循环中手动编写迭代器进行判断的麻烦。
下面是一个使用范围 for 循环遍历 vector 的示例,代码如下:
使用范围 for 循环遍历数组也是类似的操作,只需将容器替换为数组。需要注意的是,范围 for 循环只适用于容器和数组等可迭代对象,对于不可迭代的对象,如函数、宏等,不能使用范围 for 循环。
和传统的 for 循环语法相比,范围 for 循环更加简单,但是灵活性明显降低。
范围 for 循环的基本语法如下:
for(auto element:container){ //对元素执行操作 }
- container 是要遍历的容器或数组;
- element 是在遍历过程中的当前元素。
在循环体内部,可以对 element 进行各种操作,例如打印元素的值、对元素进行计算等。元素的类型既可以选择 auto,也可以选择时机的具体类型来定义。
范围 for 循环会自动根据容器或数组的类型推断出 element 的类型,不需要显式地声明类型。此外,它还支持容器的起始和结束迭代器并会自动进行迭代器的遍历和判断,避免了传统 for 循环中手动编写迭代器进行判断的麻烦。
下面是一个使用范围 for 循环遍历 vector 的示例,代码如下:
#include<iostream> #include<vector> int main() { std::vector<int> nums = {1,2,3,4,5}; //使用范围for循环遍历vector for(auto num:nums){ std::cout<< num<< ""; } std::cout<< std::endl; return 0; }上述代码的输出结果如下:
1 2 3 4 5
使用范围 for 循环遍历数组也是类似的操作,只需将容器替换为数组。需要注意的是,范围 for 循环只适用于容器和数组等可迭代对象,对于不可迭代的对象,如函数、宏等,不能使用范围 for 循环。
和传统的 for 循环语法相比,范围 for 循环更加简单,但是灵活性明显降低。