在 C/C 中检查 NULL 指针的最佳方法是什么?
在最近的代码审查中,贡献者断言所有 NULL指针检查应该通过与 NULL 的显式比较来执行:
<code class="cpp">int * some_ptr; // ... if (some_ptr == NULL) { // Handle null-pointer error } else { // Proceed }</code>
这种方法遭到了另一位审阅者的反对,他认为在 if 语句中使用指针变量的传统方法也是有效且简洁的检查 NULL 的方法:
<code class="cpp">int * some_ptr; // ... if (some_ptr) { // Proceed } else { // Handle null-pointer error }</code>
。您更喜欢哪种方法?为什么?
根据首选答案,后一种方法更可取,原因如下:
总之,在 C/C 中检查 NULL 指针时,首选方法是使用惯用的 if (ptr) 或 if (!ptr) 语法。这种方法清晰、简洁,并且与 C 类兼容。
以上是在 C/C 中应该使用 `if (ptr == NULL)` 还是 `if (ptr)` 进行空指针检查?的详细内容。更多信息请关注PHP中文网其他相关文章!