首页 > 编程语言 >C++软件编码规范推荐--文件结构

C++软件编码规范推荐--文件结构

时间:2022-11-10 16:45:11浏览次数:45  
标签:编码 头文件 定义 文件 -- 规范 C++ 系统文件

1 文件结构

  每个C/C++程序通常分为两个文件,头文件(保存程序的声明)和定义文件(保持程序的实现)。

  头文件以“.h”为后缀;C程序的定义文件以“.c”为后缀,C++程序的定义文件通常以“.cpp”为后缀(也有一些“.cc”、“.cxx”、“.hpp”为后缀)。

1.1 版权和版本的声明

  每个头文件的开头都应包含以下信息

  • 版权信息(公司信息):
  • 文件名称、标识符、摘要:
  • 作者及完成日期:
  • 版本历史信息:

  例如

  

1.2 头文件结构

  头文件由四部分组成:

  • 头文件的版权和版本声明:;
  • 预处理块;
  • 对一些头文件的引用;
  • 函数和类结构声明等;

  例如

  

  【规范】为了防止头文件被重复使用,并考虑多平台使用,应当使用#ifndef,#define,#endif结构产生预处理块。

  【规范】头文件包含顺序如下:C系统文件、C++系统文件、Qt系统文件、其他库文件、本项目文件。

  【规范】头文件中只存放“声明”而不是“定义”,这样可以大大提高编译效率(内联函数除外)。

1.3 定义文件的结构

  定义文件有两部分内容组成:

  • 对一些头文件的引用;
  • 程序的实现(包含数据和代码)。

  【规范】定义文件包含顺序如下:关联文件、C系统文件、C++系统文件、Qt系统文件、其他库文件、本项目内文件

 

结束:每个人都要自己的编码规范,一定要养成好的代码规范。

 

标签:编码,头文件,定义,文件,--,规范,C++,系统文件
From: https://www.cnblogs.com/ysnana/p/16876878.html

相关文章

  • Vue中v-if和v-for一起使用时的优先级
     问题:Vue2.0中v-if和v-for一起使用时报错,怎么解决呢?代码和报错信息如下  原因和解决办法:  在处于同一节点的时候,v-for优先级比v-if高。这意味着v-if将分别......
  • Markdown学习
    这是一级标题这是二级标题这是三级标题这是四级标题字体helloworldhelloworldhelloworldhelloworld引用好好学习,天天向上分割线图片超链接点击......
  • zt Xilinx FPGA PTP IEEE1588使用
     https://blog.csdn.net/Zhu_Zhu_2009/article/details/98208167参考Zynq-7000APSoC-PrecisionTimingwithIEEE1588v2ProtocolTechTipXilinxTSNSolutionLin......
  • 【python】点燃我,温暖你 ,快来Get同款~
    前言大家早好、午好、晚好吖❤~最近,一部名叫《点燃我,温暖你》得电视剧冲进了大家得视野~讲述得是肆意张扬的编程天才李峋与勇敢坚韧的少女学霸朱韵从青涩校园到职场......
  • rj2222gjy-sy2
     这次实验作业,我感受到了结对编程可以提供更好的设计质量和代码质量,互相帮助,互相教对方,可以得到能力上的互补。增强代码和产品质量,并有效的减少BUG。一边编程,一边共享知......
  • 2022-11-10 js 删除字符串某个值
    共4种方案:letstr='123';1、replace('1','一');//结果:一23 解释:把指定字符串替换成你想要的字符串,如果替换值为空字符串,则可以实现删除效果符串;不会改变原始字符串......
  • Python第十章实例、实战
    01    02      03    04      05      06    实战一       实例二     ......
  • 在 Kubernetes 集群上部署 Dapr
    在Kubernetes集群上部署Dapr在本地机器上运行以下命令以在集群上初始化Dapr:daprinit--kubernetes验证安装结果:daprstatus-k ......
  • django-07-操作数据库
    django操作表-models.py(app)-1.创建表;删除表;修改表:在models.py中创建数据库类classUserInfo(models.Model):name=models......
  • SpringBoot 整合mybatis-plus
    SpringBoot整合mybatis-plus1、导入Maven依赖<dependencies><!--web依赖--><dependency><groupId>org.springframework.boot</groupId>......