c++ - 删除 NULL 指针是否安全?

标签 c++ pointers memory-management null-pointer delete-operator

删除NULL指针安全吗?

这是一种好的编码风格吗?

最佳答案

delete 无论如何都会执行检查,因此在您这边检查会增加开销并且看起来更丑陋。 非常好的做法是在 delete 之后将指针设置为 NULL(有助于避免重复删除和其他类似的内存损坏问题)。

如果 delete 默认情况下将参数设置为 NULL,就像在

中一样,我也很高兴
#define my_delete(x) {delete x; x = NULL;}

(我知道 R 和 L 的值,但这不是很好吗?)

关于c++ - 删除 NULL 指针是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4190703/

相关文章:

c++ - 声明类变量后调用构造函数

C++ gmock - 将空指针传递给 SaveArg 时会发生什么

c - 函数参数地址之间的差异是否总是 4 个字节?

C - 为什么在进行指针运算时转换为 uintptr_t 与 char*

c++ - 分配的内存块应该按什么顺序被释放?

c++ - C++ 迭代器的生命周期和有效性是多少?

c++ - 此代码的大 O 表示法是什么?

java - 垃圾回收期间什么时候调用 finalize()?

c++ - C++何时查找初始化列表

javascript - 带有phonegap的javascript jquery mobile中的内存管理