在处理NULL
指针时,可以执行此操作
if(ptr != NULL){ ... }
or this
if(ptr != 0){ ... }
是否有理由在C++
中选择一个而不是另一个?
答案 0 :(得分:16)
使用NULL
,因为它表示语义上你的意思。
请记住,编程的目的不是告诉计算机该做什么。关键是告诉其他人你告诉计算机要做什么。
答案 1 :(得分:5)
严格来说无关紧要:要么会奏效。所以会:
if (ptr) { ... }
显式检查NULL表明if的意图,因此我认为它有助于使用以下方法检查可维护性:
if (ptr != NULL) { ... }
答案 2 :(得分:3)
if(ptr!= NULL)读取优于if(ptr!= 0)。因此,虽然您可以使用后者保存3次击键,但如果您使用前者,您将帮助您的同事保持理智,同时阅读您的代码。
答案 3 :(得分:3)
没关系。每个专业程序员都会知道ptr = 0
和if( !ptr )
的含义,并且完全符合标准。所以,做你想做的事,但无论你做什么,都要一直做同样的事情。