[英]How do I deallocate cells of a different length from the initial length in a dynamic 2d array?
[英]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.