是否有关于if to put null check before delete的几个问题。现在,我仍然在许多生产代码中看到了这种做法,而且我不相信所有这些程序员都没有意识到delete 0;
是安全的事实。
因此,我想知道是否值得假设delete/free
之前的null检查通过保存函数调用来提供性能优化吗?
if(0 != p)
delete p;
最佳答案
不可以。delete
不是函数,尽管根据类型,后面可能会有operator delete
调用。
充其量您要保存与0
的第二次比较。都是过早的优化:这都不是您的瓶颈,并且您正在编写冗余代码。
写就好了:
delete ptr;
关于c++ - 在删除/释放之前不进行空检查会优化对函数的调用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6330867/