作者james732 (好人超)
看板C_and_CPP
標題[問題] delete 的問題
時間Sun Apr 12 00:14:43 2009
int main()
{
int *ptr = NULL;
delete ptr;
return 0;
}
我本來以為這種寫法應該是錯誤的,
但是卻連 run-time error 都不會發生?
這樣的寫法,不是嘗試去釋放 NULL 這個記憶體空間嗎?
但是那個空間又不是 new 來的,應該不允許 delete 才是?
visual studio 2005 與 gcc 都能順利結束而沒有任何錯誤…?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.62.28
→ wowtiger:你應該嘗試是用 1 而不是用 NULL 04/12 00:26
→ james732:我不懂的是為什麼 NULL 會平安無事 XD 04/12 00:34
推 ctrlbreak:delete 會檢查傳入的參數是不是NULL. 04/12 00:45
→ james732:原來如此 難怪不會出事情... 04/12 00:55