C++核心准则C.7:不要在一条语句内声明类或枚举值的同时又定义该类型的变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++核心准则C.7:不要在一条语句内声明类或枚举值的同时又定义该类型的变量相关的知识,希望对你有一定的参考价值。


C.7: Dont define a class or enum and declare a variable of its type in the same statement

不要在一条语句内声明类或枚举类型的同时又定义该类型的变量

Reason(原因)

Mixing a type definition and the definition of another entity in the same declaration is confusing and unnecessary.

将类型和实体的定义混在一起难于理解而且没有必要。

译者注:编程不是炫技,没有必要为了减少行数而改变代码结构。

Example, bad(反面示例)

 

struct Data  /*...*/  data /*...*/ ;

Example, good(好的示例)


 


 

struct Data  /*...*/ ;
Data data /*...*/ ;


 


Enforcement(实施建议)

  • Flag if the ​​​​ of a class or enumeration definition is not followed by a ​​;​​. The ​​;​​ is missing.
     
  • 如果类或者枚举类型定义最后的 没有紧跟 ; ,或者在 ;缺失时进行提示。
     


 

觉得本文有帮助?欢迎点赞并分享给更多的人。

阅读更多更新文章,请关注微信公众号【面向对象思考】

以上是关于C++核心准则C.7:不要在一条语句内声明类或枚举值的同时又定义该类型的变量的主要内容,如果未能解决你的问题,请参考以下文章

C++核心准则F.55 不要使用可变参数

C++核心准则F.54:不要隐式捕捉this指针

C++核心准则边译边学-I.11 永远不要使用原始指针或引用传递所有权

C++核心准则T.12:声明局部变量类型时,概念比auto更好

C++核心准则T.22:为概念定义公理

C++核心准则边译边学-文档结构