ash*_*ish 9 c++ pointers coding-style cpplint
我已经检查了这篇文章我可以使用if(指针)而不是if(指针!= NULL)吗?网上还有其他一些帖子.
但它没有说两个陈述之间有任何区别.
问题:当我在cpp代码上运行cpplint.py时,我发现了检查指针为NULL的问题.我更喜欢用简单的方法来检查
if(pointer) //statement1
Run Code Online (Sandbox Code Playgroud)
但是cpplint说你应该检查一下
if(pointer != NULL) //statement2
Run Code Online (Sandbox Code Playgroud)
所以我只想知道,statement2对statement1有什么好处吗?是否存在一些语句可能会产生问题?
工作:据我所知,这两个陈述的工作没有区别.它只是改变了编码风格.
我更喜欢使用like statement1,因为
- 它简单易读
- 没有张力
=错误(==)在比较中错误地超过了()
但是cpplint正在提出这个问题,那么我可能会有一些好处.
注意: Java也不支持statement1.
不,如果pointer真的是指针类型没有区别,那么这里的一切都是编码风格的问题.编码风格又取决于不同社区的习惯,因此不能提出一般性建议.
我个人更喜欢第一个,因为它更短,更重要,避免使用伪宏NULL.
在C中NULL可以是非常不同的东西(整数或指针),而在C++中,它的使用现在甚至已被弃用.你应该至少使用nullptr那里.
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |