模板:
for(ElemType val: array)
{
statement 循环体....
}
ElemType:是范围变量的数据类型。它必须与数组(容器)元素的数据类型一样,或者是数组元素可以自动转换过来的类型。
val :是范围变量的名称。该变量将在循环迭代期间依次接收数组中的元素值。在第一次循环迭代期间,它接收的是第一个元素的值;在第二次
循环迭代期间,它接收的是第二个元素的值;以此类推。
array:是要让该循环进行处理的数组(容器)(==必须包含长度和数组首地址两个元素==指针不可以)的名称。该循环将对数组中的每个元素迭代一次。
statement:是在每次循环迭代期间要执行的语句。要在循环中执行更多的语句,则可以使用一组大括号来包围多个语句。与其他循环体一样,
可以用continue来结束本次循环, 也可以用break来跳出整个循环。
以值遍历:
无法修改容器的值,相当于获取把容器的值赋值给变量x,x的改变不会影响容器
int main()
{
int ar[] = { 1,2,3,4,5,6,7,8,9,10 };
for(auto x:ar)//不可修改ar的值
{
cout<< x <<endl;
}
cout< <endl;
return 0;
}
以引用遍历
可以修改容器的值,相当于x是容器值的别名
int main()
{
int ar[] = { 1,2,3,4,5,6,7,8,9,10 };
for(auto &x:ar)//可修改ar的值
{
cout<< x <<endl;
}
cout< <endl;
return 0;
}