p == NULL比c++中的!p花费的时间少

4ioopgfo  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(97)

我最近在做Leetcodehttps://oj.leetcode.com/,假设p是一个指针,一个有趣的事情是,当我使用

if(p==NULL)

字符串

if(!p)


第一个比第二个花的时间少。2它们之间有什么区别吗?3谢谢!
更新:x1c 0d1x

byqmnocz

byqmnocz1#

我希望所有实现都能为两个版本生成完全相同的编译代码。
NULL的值为零。!p测试p是否为零。因此在这两种情况下,p都与零进行比较。
我严重怀疑你是否发现了两者之间的性能差异。如果你发现了,我怀疑还有其他因素在起作用。

tnkciper

tnkciper2#

打开优化器。调试版本中的C++性能没有意义。

相关问题