对于 NULL 指针,我应该使用 NULL 还是 0?

发布于 2024-07-16 05:27:59 字数 333 浏览 4 评论 0原文

复制

您是否使用 NULL 或 0 C++ 中的指针?

在处理 NULL 指针时,可以这样做

if(ptr != NULL){ ... }

or this

if(ptr != 0){ ... }

C++ 中是否有理由选择其中一种指针?

Duplicate

Do you use NULL or 0 for pointers in C++?

When dealing with NULL pointers one can do this

if(ptr != NULL){ ... }

or this

if(ptr != 0){ ... }

Are there reasons to prefer one over the other in C++?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

不必你懂 2024-07-23 05:27:59

使用 NULL 因为它在语义上表明了你的意思。

请记住,编程的目的不是告诉计算机要做什么。 关键是告诉其他人你告诉计算机做什么。

Use NULL because it indicates semantically what you mean.

Remember, the point of programming isn't to tell the computer what to do. The point is to tell other humans what you're telling the computer to do.

够钟 2024-07-23 05:27:59

两者都有效; 所以会:

if (ptr) { ... }

显式检查 NULL 演示了 if 的意图,因此,我认为使用以下命令进行检查有助于可维护性:

if (ptr != NULL) { ... }

Either will work; so will:

if (ptr) { ... }

Checking explicitly for NULL demonstrates intent of the if and for that reason, I think it aides maintainability to check using:

if (ptr != NULL) { ... }

玩物 2024-07-23 05:27:59

if( ptr != NULL ) 比 if(ptr != 0) 读起来更好。 因此,虽然使用后者可以节省 3 次击键,但如果使用前者,将帮助你的同事在阅读你的代码时保持理智。

if( ptr != NULL ) reads better than if(ptr != 0). So, while you may save 3 keystrokes with the latter, you will help your coworkers maintain their sanity while reading your code if you use the former.

痴梦一场 2024-07-23 05:27:59

没关系。 每个专业程序员都会知道 ptr = 0if( !ptr ) 的含义,并且它完全符合标准。 所以,做你想做的事,但无论你做什么,总是做同样的事情。

It doesn't much matter. Every professional programmer will know what ptr = 0 and if( !ptr ) means and it is perfectly compliant with the standard. So, do what you will, but whatever you do, just do the same thing all the time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文