内容包括: 单独编译;存储持续性、作用域和链接性;布局(placement)new 操作符;名称空间。
C++允许甚至鼓励程序员将组件函数放在独立的文件中。与其将结构声明加入到每一个文件中,不如将其放在头文件中,然后在每一个源代码文件中包含该头文件,这样,要修改结构声明时,只需在头文件中做一次改动即可。
头文件中长包含的内容有:
- 函数原型;
- 使用#define或者const定义的符号常量;
- 结构声明;
- 类声明;
- 模板声明;
- 内联函数。
当包含用户自己创建的头文件时,使用双引号包含文件名,从而与标准头文件的尖括号区别。eg:"coordin.h",而不是<coordin.h>.
在同一个文件中只能将同一个头文件包含一次。可以利用一种标准的C/C++技术避免包含多次的情况:基于预处理编译器指令#ifndef ... #endif.
因为不同的编译器表示函数名的方式不同,因此在连接编译模块时,请确保所有对象文件或库都是由同一个编译器生成的。
链接性:描述了名称如何在不同单元间共享。链接性为外部的名称可以在文件间共享,链接性为内部的名称智能由一个文件中的函数共享。自动变量没有链接性,因为他们不能共享。
C++比C语言进了一步——它提供了作用域解析操作符(::)。当放在变量名称前面时,该操作符表示使用变量的全局版本。