C++ primer 练习3.43 答案
//四个版本输出三维数组中元素的方法:
#include<iostream>
using namespace std;
int main()
{
int arr[3][4][5] = {}; //定义三维数组;
int i = 0;
for (auto& au1 : arr) //初始化三维数组;从0开始递增初始化;
{
for (auto& au2 : au1)
{
for (auto & au3 : au2)
{
au3 = i;
i++;
}
}
}
cout << " Edition 1:" << endl; //第一种;
for (auto& au1 : arr)
{
for (auto& au2 : au1)
{
for (auto au3 : au2)
{
cout << au3 << " ";
}
cout << endl;
}
}
cout << "Edition 2: " << endl; //第二种;
for (int i = 0; i != 3; i++)
{
for (int j = 0; j != 4; j++)
{
for (int k = 0; k != 5; k++)
{
cout << arr[i][j][k] << " ";
}
cout << endl;
}
}
cout << "Edition 3: " << endl; //第三种;
int(*ptr)[3][4][5] = &arr;
int(&ref)[3][4][5] = arr;
for (int i = 0; i != 3; i++)
{
for (int j = 0; j != 4; j++)
{
for (int k = 0; k != 5; k++)
{
cout << (*ptr)[i][j][k] << " ";
}
cout << endl;
}
}
cout << "Edition 4: " << endl; //第四种;
for (int i = 0; i != 3; i++)
{
for (int j = 0; j != 4; j++)
{
for (int k = 0; k != 5; k++)
{
cout << ref[i][j][k] << " ";
}
cout << endl;
}
}
}