gpt4 book ai didi

c - 在 C 中检查指针是否为 NULL 的有效方法

转载 作者:行者123 更新时间:2023-11-30 21:48:10 26 4
gpt4 key购买 nike

如果此检查存在于快速代码路径中的函数内部,则检查指针是否为 NULL 的最有效方法是什么?

最佳答案

有理由期​​望相同效率

if (!p)
if (p == NULL)
if (p == 0)
if (NULL == p) // Jedi comparison
if (0 == p) // Jedi comparison

在任何明智的编译器上编译为相同的代码。信用:@Will。

当想要 == 时,绝地比较确实会捕获 =(图片来源:@Sanyam Goel)
我和其他人发现通常的 if(p == ...) 更容易阅读。 (来源:@H2CO3)
在我的书中,维护胜过开发。由于这个原因,我倾向于使用 if (p == NULL) ,因为它最清楚地表达了正在测试的内容,恕我直言。

<小时/>

虽然这个问题很基本,但我认为它值得一个完整的答案。但值得赞扬的是上面的精彩讨论。可能大多数程序员都会在某个时候思考这个问题。

关于c - 在 C 中检查指针是否为 NULL 的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18031798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com