大家好
欢迎回来继续学习
C++语言程序设计
这一节我们来学习
基于范围的for循环
我们在第二章
学过了循环语句
其中的for循环我们知道
是C++中
功能最强的一个循环语句
它可以把循环控制变量的初始化
循环条件的控制
以及循环变量的增值
都放在循环头中
这样看起来一目了然
那我们前面呢
也看到了
当我们用for循环
来处理整个数组的时候
来遍历数组元素的时候
我们是需要知道
这个数组
它一共有多少个元素的
这样我们才可以用for循环
来控制这个循环次数
对吧
那么现在呢
C++11给我们提供了一种
新的for循环语句
就是基于范围的for循环
它最擅长的就是
自动遍历整个容器
比如说
数组就是一个容器
那么用基于范围的for循环
就可以不用我们去控制
这个循环次数
它能自动把整个数组里面的元素
全都遍历一遍
接下来我们来看一个例子
对比一下
大家就知道
这个基于范围的for循环
在遍历数组的时候
它为什么很好用
现在我们来对比
左右两边的这两个程序
这两个程序呢
都是要遍历数组的元素
左边我们来看
采用的是什么办法呢
定义一个指针
将数组的首地址赋到指针里面
然后就用指针
去访问数组的每个元素
当然了
用数组下标去访问每个元素
也是可以的
那么我们要怎么控制它这个循环
转多少圈呢
就要知道
数组一共有多少个元素
如果我们只获得一个指针
一个首地址的话
那么元素的个数
就要这样计算出来
或者
我们定义一个固定大小的数组
我们知道它有多少个元素
那么
这就是一般的for循环的形式
再看看右边
是不是觉得更省事 更简洁了
这是基于范围的for循环
用这样的语法形式来写呢
就自动的能够从数组中
依次取出各个元素来
用来初始化这个e
大家看这个for循环呢
它不用管元素个数
一共有多少
用这种基于范围的形式
会自动地去计算出循环次数来
处理完数组里面的所有内容
这一个呢
在处理容器类的时候
更有用
我们在第九章会学到类模板
然后在第十章会接触到
stl中的那些可以作为容器的
这些类模板
当我们把数据存在这样的容器
其实数组也是个最简单的容器
能容纳一群数据
当我们把数据
存在这样的容器里面的时候
用这样基于范围的for循环
就可以自动的依次处理
全部的数据
所以大家看
这个是不是很方便