删除空指针

use*_*280 6 c++ null-pointer delete-operator

可能重复:
有没有理由在删除之前检查NULL指针?

我经常在代码中看到以下内容:

if(pointer)
    delete pointer;
Run Code Online (Sandbox Code Playgroud)

根据我的理解,删除空指针是安全的,那么这个检查有什么意义呢?

Aus*_*oke 9

delete 将检查指针是否为NULL,所以你是对的,不需要检查.

您可能还会看到有些人删除它之后将指针设置为NULL ,这样您就不会做任何愚蠢的事情,比如尝试并使用不再属于您的内存或阻止您删除指针两次,这将导致错误.