我最近在做Leetcode https://oj.leetcode.com/。假设p是一个指针,有趣的是我使用的时候运行时间是不一样的
if(p==NULL)
Run Code Online (Sandbox Code Playgroud)
和
if(!p)
Run Code Online (Sandbox Code Playgroud)
第一个比第二个花费更少的时间。它们之间有什么区别吗?谢谢!
更新:

我希望所有实现都能为两个版本生成完全相同的编译代码。
NULL值为零。并且!p正在测试 p 是否为零。所以在这两种情况下,p 都与零进行比较。
我严重怀疑您是否发现两者之间存在任何性能差异。而且,如果你是,我怀疑还有其他一些因素在起作用。
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |