c++ - 删除空指针

标签 c++ delete-operator null-pointer

<分区>

Possible Duplicate:
Is there any reason to check for a NULL pointer before deleting?

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

if(pointer)
    delete pointer;

据我了解,删除空指针是安全的,那么此检查的意义何在?

最佳答案

delete 将为您检查指针是否为 NULL,因此您是对的,不需要检查。

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

关于c++ - 删除空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004495/

相关文章:

c++ - 删除[]的行为

c++ - C++ 中 3 维数组的重新分配

c - C 中 free() 的确切输出?

c - 三问 : Is NULL - NULL defined? (uintptr_t)NULL - (uintptr_t)NULL 定义了吗?

c++ - 有没有办法强制 Protocol Buffer 使用恒定的字段大小?

c++ - VC++编译器升级2010->2015重新定义; 'constexpr' 说明符不匹配

c++ - 通过 delete operator 调用我的全局 operator delete

c++ - 调用 Qt 的 setui 方法后是否应该检查空指针?

C++用参数重载友元类函数参数

c++ - 如何/可能有一个 vector<unique_ptr<ABC>>?