在新的C++标准中,生成新头文件的方法仅仅是将现有C++头文件名中的 .h 去掉。例如,<iostream.h> 变成了<iostream> ,<complex.h> 变成了<complex> ,等等。对于C头文件,采用同样的方法,但在每个名字前还要添加一个c。所以C的<string.h> 变成了<cstring> ,<stdio.h> 变成了<cstdio> ,等等。
旧的C++头文件是官方所反对使用的(即,明确列出不再支持),但旧的C头文件则没有(以保持对C的兼容性)。
下面是C++头文件的现状:
· 旧的C++头文件名如<iostream.h> 将会继续被支持,尽管它们不在官方标准中。这些头文件的内容不在名字空间std中。
· 新的C++头文件如<iostream> 包含的基本功能和对应的旧头文件相同,但头文件的内容在名字空间std中。(在标准化的过程中,库中有些部分的细节被修改了,所以旧头文件和新头文件中的实体不一定完全对应。)
· 标准C头文件如<stdio.h> 继续被支持。头文件的内容不在std中。
· 具有C库功能的新C++头文件具有如<cstdio> 这样的名字。它们提供的内容和相应的旧C头文件相同,只是内容在std中