2011-11-27 41 views
1

對於固定陣列,初始化動態數組元素爲零

// will initialize the missing elements to 0 as well 
    A[max_row][max_col] = {0,} 

我們能在動態陣列(多維的,尤其是)實現這一目標?

旁邊的問題:如果我們不能,而且我們被迫使用嵌套循環,那麼與嵌套循環初始化相比,上述技巧的初始化時間如何?


我不想向量,否則這個問題是沒有意義的。感謝您的建議:)

+0

爲什麼不使用矢量< vector>您可以使用默認值初始化動態二維數組? – Arunmu

+1

我知道你可以做到這一點。每個人都想使用矢量,但我不想。對不起,我忘了包括這一點。不過謝謝。 – CppLearner

+1

關於你的第一個問題:當你嘗試時發生了什麼?關於你的第二個問題:內部C++將多維數組表示爲一個類型爲「無論」類型的內存位置的簡單列表(無論你如何調用新的內容)。如果你這樣做,你不需要嵌套for循環。您只需使用一個指針即可通過一個循環遍歷行x col個位置。 – DavidO

回答

11

如果你這樣做:new int[N]() /* note parenthesis */,那麼他們都是零初始化。不過,你應該真的使用std::vector