我已经检查过这个帖子了我可以使用 if (pointer) 代替 if (pointer != NULL) 吗? https://stackoverflow.com/questions/17772103/can-i-use-if-pointer-instead-of-if-pointer-null以及网上的一些其他帖子。
但它并没有说明两个陈述之间有任何区别。
Problem:当我在 cpp 代码上运行 cpplint.py 时,我发现检查指针是否为 NULL 的问题。
我更喜欢使用简单的方法进行检查
if(pointer) //statement1
but cpplint说你应该检查一下
if(pointer != NULL) //statement2
所以我只是想知道,有什么好处吗?声明2 over 声明1?是否有一些场景声明1可能会产生问题吗?
Working:据我所知有工作上没有区别两个声明的。这只是编码风格的改变。
我更喜欢使用像声明1, 因为
- 简单易读
- 没有缺失的紧张感(
=
) 错误地超过了相等(==
) 在比较中
但 cpplint 将此作为问题提出,那么我可能会错过一些好处。
Note:Java也不支持声明1.
No, if pointer
实际上是指针类型没有区别,所以这里的一切都是编码风格的问题。编码风格又取决于不同社区的习惯,因此不能提供通用的建议。
我个人更喜欢第一个,因为它更短,更切题,并且避免使用虚假宏NULL
.
In C NULL
可以是非常不同的东西(整数或指针),并且在 C++ 中它的使用现在甚至已被弃用。你至少应该使用nullptr
, there.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)