【发布时间】:2011-06-13 13:13:03
【问题描述】:
关于if to put null check before delete 有几个问题。现在,我仍然在许多生产代码中看到了这种做法,我不相信所有这些程序员都不知道delete 0; 是安全的这一事实。
所以,我想知道是否值得假设delete/free 之前的空检查会通过保存函数调用来提供性能优化?
if(0 != p)
delete p;
【问题讨论】:
-
在大多数情况下过早悲观(因为通常指针不为空,是吗?),实际上。无论如何,如果使用 GCC 编译,检查仍然存在。
-
if (0 != p):个人喜好,但我发现使用中的一种更丑陋的构造,通常是强制使用(在项目编码标准中)。
标签: c++ optimization null delete-operator