网站平台建设情况汇报,wordpress访问局域网,求一个网站开发接项目的平台,设计类专业是文科还是理科文章目录使用范围for语句处理多维数组使用范围for语句处理多维数组
举个例子#xff0c;使用范围for语句输出多维数组#xff08;ia#xff09;所有值#xff1a;
for (const auto row : ia)for (auto col : row)cout col endl;本循环中并没有任何…
文章目录使用范围for语句处理多维数组使用范围for语句处理多维数组
举个例子使用范围for语句输出多维数组ia所有值
for (const auto row : ia)for (auto col : row)cout col endl;本循环中并没有任何写操作可仍将外层循环的控制变量声明成了引用类型这是为了避免数组被自动转换成指针。如果不用引用类型则循环如下述形式
for (auto row : ia)for (auto col : row)程序无法通过编译。第一个循环想要遍历ia的所有元素实际上是大小为4的数组但由于row不是引用类型所以编译器初始化row时会自动将这些数组形式的元素转换成指向数组内首元素的指针。这样得到的row类型就是int*显然内层循环“for (auto col : row)”就不合法了其含义成了编译器试图在一个int*内遍历和程序的初衷相去甚远。
因此要使用范围for语句处理多维数组除了最内层的循环外其他所有循环的控制变量都应该是引用类型。