高质量C/C++编程指南总结(一)—— 文件结构
1. 版权和版本的声明应位于头文件和定义文件的开头,主要包括的内容有:
- 版本信息。
- 文件名称、文件标识、摘要。
- 当前的版本号、作者/修改者、完成日期。
- 历史版本信息(取代版本、原作者、完成日期)。
2. 头文件结构
- 为了防止头文件被重复引用,应当使用 ifndef/define/endif 结构产生预处理块。
- 用 #include <filename.h> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。
- 用 #include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。
- 头文件中只存放“声明”而不存放“定义”。C++中的内联函数也应定义在类外,与函数声明分开,统一风格。
- 不提倡使用全局变量, 尽量不要在头文件中出现象 extern int value 这类声明。
3.目录结构
- 如果一个软件的头文件数目比较多(如超过十个),通常应将头文件和定义文件分别保存于不同的目录,以便于维护。例如可将头文件保存于 include 目录,将定义文件保存于 source 目录(可以是多级
目录)。 - 如果某些头文件是私有的,它不会被用户的程序直接引用,则没有必要公开其“声明”。为了加强信息隐藏,这些私有的头文件可以和定义文件存放于同一个目录。