如何将2d数组初始化为0

时间:2019-12-26 04:23:39

标签: c++

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?

2 个答案:

答案 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));