int array2d[3][5]{};
for (auto& iter1 : array2d)
{
cout << "iter1 in 2d array - " << iter1 << endl;
for (auto& iter2 : iter1)
{
cout << "iter2 in 2d array - " << iter2 << endl;
}
}
结果
二维数组中的iter1-00CFFCB4
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
二维数组中的iter1-00CFFCC8
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
二维数组中的iter1-00CFFCDC
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
2D数组中的iter2-0
二维数组中的iter2-0
如何将2d数组初始设置为0?
答案 0 :(得分:4)
您的2d数组 确实 会将所有元素初始化为零!事实证明,iter2 in 2d array - 0
格式的输出中有 15 行。
iter1
的非零输出实际上是地址:iter1
的类型是int (&iter1)[5]
-对于每个外部循环,该地址都是二维数组的三个“行”中的每一个。
答案 1 :(得分:0)
对于m行和n列,
vector<vector<int> > array2d( m , vector<int> (n));