-2
當我使用malloc()
或new
分配內存時,它有時會產生運行時錯誤,如何避免這些錯誤?動態內存分配時需要注意哪些事情?
當我使用malloc()
或new
分配內存時,它有時會產生運行時錯誤,如何避免這些錯誤?動態內存分配時需要注意哪些事情?
你malloc()
,你需要free()
。
你是什麼new
,你需要delete
。
你是什麼new []
,你需要delete []
。
任何其他組合都是未定義的行爲。
此外,new
和new []
實際建設中所分配的內存(這delete
/delete[]
調用析構函數(S)),而malloc()
/free()
不反對(S) - 他們只是處理內存,而不是對象。
鑑於(缺乏)給出的信息,我儘可以幫助你。
也許他的問題可以幫助你:http://stackoverflow.com/questions/240212/what-is-the-difference-between-new-delete-and-malloc-free –
當你使用'malloc'來分配對象的內存而不是'new',這可能會導致奇怪的錯誤(對象未初始化)。 –