这是C++11引入的f循环的语法。基于范围的for循环可以遍历容器类(如数组、容器、字符串等)中的元素。
在这段代码中,buffer 是一个容器(如数组或vector),auto关键字用于自动推导变量的类型,&表示通过引用来进行循环变量的声明和传递。循环会迭代遍历 buffer 中的元素,并将每个元素赋值给引用变量v. 意味着,可以更改buffer中的值,而不加引用& 则只会把buffer中的值拷贝到v中,不会改变buffer内的值。
注:这样写报错,必须指定长度。这是因为 array 类是一个在编译时就确定大小的容器,而不是像 vector 这样的动态数组,可以在运行时动态调整大小。
嵌套容器的遍历方法,第一行for遍历是把BUF中的每个元素(一维动态数组)赋給自动推导类型的 引用变量it。第二行for遍历是把it中的每个元素(int)赋给int类型的 引用变量bit
嵌套容器的旋转案例(n*n的矩阵,旋转n次)
旋转1次和4次之后输出结果为