看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《godman362 (青)》之銘言: : 想請教各位一個觀念性的問題 : 在函式中使用new配出一塊記憶體,如下 : int *NewMem() { : int *NewArray = new int [256]; : return NewArray; : } : 那麼我在main中所接到的return的位址是一個正確的位址嗎? : 他會因為是在函數中宣告而變成區域變數而產生錯誤嗎? 不會. 因為區域變數是 pointer 而不是該 array. array 是從 heap allocate 出來的, 所以只要你不去 deallocate 它, 它會一直存在 : 還請各位幫我釐清一下這個觀念,謝謝 記得外面用完要 delete[] 就好了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
godman362:謝謝a大,這樣我清楚了 06/11 14:28