C++11特性中基于范围的for循环

本文摘录柳神笔记:

   除了像C语⾔的for语句 for (i = 0; i < arr.size(); i++) 这样,C++11标准还为C++添加了⼀种新的 for 循环⽅ 式,叫做基于范围(range-based)的for循环,这在遍历数组中的每⼀个元素时使⽤会⽐较简便~⽐如 想要输出数组 arr 中的每⼀个值,可以使⽤如下的⽅式输出:

i 变量从数组的第⼀个元素开始,不断执⾏循环, i 依次表示数组中的每⼀个元素~注意,使⽤ int i 的⽅式定义时,该语句只能⽤来输出数组中元素的值,⽽不能修改数组中的元素,如果想要修改, 必须使⽤ int &i 这种定义引⽤变量的⽅式~⽐如想给数组中的每⼀个元素都乘以 2 ,可以使⽤如下⽅ 式:

 

 这种基于范围的 for 循环适⽤于各种类型的数组,将上述两段代码中的 int 改成其他变量类型如 double 、 char 都是可以的~另外,这种 for 循环⽅式不仅可以适⽤于数组,还适⽤于各种STL容 器,⽐如 vector 、 set 等~加上上⾯⼀节所讲的C++11⾥⾯很好⽤的 auto 声明,将 int 、 double 等 变量类型替换成 auto ,⽤起来就更⽅便啦

 

posted @ 2020-02-25 12:58  yfl无聊  阅读(162)  评论(0)    收藏  举报