我有一些內存密集型代碼,然後下面的語句解放出來一個空指針的原因如下彈出消息
free(array1); // array1 is NULL
我基本上是所謂的自由在一個空指針。這是我的理解,意外地在空指針上釋放是安全的。但是,當執行自由語句時,我彈出了以下消息。
「Windows在app.exe中觸發了一個斷點 這可能是由於堆的損壞,這表示app.exe或它已加載的任何DLL中存在一個錯誤。
這是否意味着免費是不安全的調用NULL指針,或者這是一個跡象,可能是我的程序中的內存問題?
當我取消註釋空閒語句時,一切正常。
爲什麼你使用免費'在C++中,而不是'新/刪除'? –
數組如何可以爲空:/ –