C++11 范围for语句
C++11引入了范围for循环,用于更方便地遍历容器中的元素。这种循环提供了一种简单的方式来迭代容器中的每个元素,而不需要显式地使用迭代器或索引。
c++primer(5版) 原文如下
不能增删元素,不能更改了容器的大小
对容器的遍历过程中,如果只是读数据,不允许修改元素的值,可以使用 const 定义保存元素数据的变量,在定义的时候建议使用 const auto & ,这样相对于 const auto 效率要更高一些。
特别注意的
set集合
在 for 循环内部声明一个变量的引用就可以修改遍历的表达式中的元素的值,但是这并不适用于所有的情况,对应 set 容器来说,内部元素都是只读的,这是由容器的特性决定的,因此在 for 循环中 auto & 会被视为 const auto & 。
只可读,不可写
默认就是 const int 类型,不可修改。
map集合
可改value值,不可改key值
不引用的话该值只在循环内有效
C++11_范围for循环_for (auto& item :-CSDN博客
关于范围for循环语句,该博客写的挺详细的,可以看看