Hel*_*oHi 6 c++ delete-operator
可能重复:
有没有理由在删除之前检查NULL指针?
我知道C++语言保证如果p等于NULL,delete p将不执行任何操作.但不断在不同的项目,文章,例子中我看到它在删除之前检查NULL.通常是格式
if(pObj)
delete pObj;
Run Code Online (Sandbox Code Playgroud)
为什么会这样?一些历史原因?我对如何正确删除对象感到困惑.
BЈо*_*вић 16
为什么会这样?
无知.有些人不知道delete(NULL);没有做任何事情.
你无法真正检查指针是否真的有效.如果删除两次,则表示您正在调用未定义的行为.
goj*_*oji 11
不,这完全没有意义.delete不会删除已设置为null的指针!所以删除所有你喜欢的空指针!