我最近在做Leetcodehttps://oj.leetcode.com/,假设p是一个指针,一个有趣的事情是,当我使用
if(p==NULL)
字符串
和
if(!p)
型
第一个比第二个花的时间少。2它们之间有什么区别吗?3谢谢!
更新:x1c 0d1x
我最近在做Leetcodehttps://oj.leetcode.com/,假设p是一个指针,一个有趣的事情是,当我使用
if(p==NULL)
字符串
和
if(!p)
型
第一个比第二个花的时间少。2它们之间有什么区别吗?3谢谢!
更新:x1c 0d1x
2条答案
按热度按时间byqmnocz1#
我希望所有实现都能为两个版本生成完全相同的编译代码。
NULL
的值为零。!p
测试p是否为零。因此在这两种情况下,p都与零进行比较。我严重怀疑你是否发现了两者之间的性能差异。如果你发现了,我怀疑还有其他因素在起作用。
tnkciper2#
打开优化器。调试版本中的C++性能没有意义。