C++语言原本的设计者是想将C++作为C语言的延伸,因此C++语言有很多语言风格继承自C语言,头文件的写法也不例外。
头文件又称作包含文件,C语言的传统是,头文件使用扩展名h,将其作为一种通过名称标识文件类型的简单方式,C++则去掉了扩展名,通过名称空间使用头文件提供的函数等功能。然而为了兼容一些C语言的头文件,C++也支持C语言的头文件写法。具体如下:
| 头文件类型 | 约定 | 示例 | 说明 |
|---|---|---|---|
| C++旧式风格 | 以.h结尾 | iostream.h | C++程序可以使用 |
| C旧式风格 | 以.h结尾 | math.h | C、C++可以使用 |
| C++新式风格 | 没有扩展名 | iostream | C++可以使用,使用namespace |
| 转换后的C | 加上前缀c,没有扩展名 | cmath | C++程序可以使用,可以使用不是C的特性,如namespace |