簡體   English   中英

如何將二維數組初始為 0

[英]How to 2d array initial to 0

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
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter1 - 00CFFCC8
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter1 - 00CFFCDC
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0
二維數組中的 iter2 - 0

如何將二維數組初始為0??

您的二維數組確實將所有元素初始化為零! 這可以通過iter2 in 2d array - 0形式iter2 in 2d array - 0輸出中有15行這一事實來證明。

iter1的非零輸出實際上是地址iter1的類型是int (&iter1)[5] - 對於每個外部循環,它是二維數組的三個“行”中每一個的地址。

對於 m 行和 n 列,

vector<vector<int> > array2d( m , vector<int> (n));  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM