1.范围for的语法
在C++98中,如果需要遍历一个数组,通常是这样去做:
对于一个有范围的集合而言,由程序员来说明范围显然是多余的,在C++11中对for的使用推出了新的语法,即基于范围的for。for循环后的括号由冒号“ :”分为两部分:第一部分是范 围内用于迭代的变量,第二部分则表示被迭代的范围。
下图便是用基于范围的for,打印数组的操作:
(关键字auto见:C++关键字auto-CSDN博客)
这里for有以下几个功能:
1.依次取数组中的数据赋给x;
2.自动判定结束;
3.自动迭代;
注意如果需要使用范围for改变数组的值时,要使用引用操作:
如果不加引用,x的改变不会影响到arr数组。
不能使用指针,因为它的底层逻辑是把数组中的值依次赋给x。
2.范围for的使用条件
(1)for循环迭代的范围一定是固定的
对于数组而言,就是数组中第一个元素和最后一个元素的范围;对于类而言,应该提供begin和end的方法,begin和end就是for循环迭代的范围。