delete[] p 執行時發生錯誤,通常源於以下四種情況。理解這些陷阱能有效避免執行期崩潰與記憶體損毀。
p++、p += offset 等導致 p 不再指向原始配置位址。delete 必須傳入原始位址。new,函式 B delete,但指標變數未正確傳遞(如區域變數生命週期結束),導致 delete 使用無效指標值。delete 兩次。第二次釋放會破壞堆積結構。0xFDFDFDFD、陣列元素計數)。delete 讀取受損管理資訊時觸發錯誤。std::unique_ptr, std::vector) 自動管理生命週期。nullptr,delete 後也設為 nullptr。_CrtSetDbgFlag)。