作者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
1F:→ wowtiger:你应该尝试是用 1 而不是用 NULL 04/12 00:26
2F:→ james732:我不懂的是为什麽 NULL 会平安无事 XD 04/12 00:34
3F:推 ctrlbreak:delete 会检查传入的参数是不是NULL. 04/12 00:45
4F:→ james732:原来如此 难怪不会出事情... 04/12 00:55