C++标准库中除了定义C++语言特有的功能外,也兼容了C语言的标准库。C语言的头文件形如name.h,C++则将这些文件命名为cname,这里的c表示这是一个属于C语言标准库的头文件。因此cname和name.h头文件中的内容是一样的,不同之处在于:cname的头文件中定义的名字从属于命名空间std,而名为name.h的头文件中则不然。
一般来说,C++程序应该是有命名为cname的头文件,标准库中的名字总能在命名空间std中找到。如果使用name.h,程序员就不得不时刻牢记哪些是从C语言那继承来的,哪些又是C++所独有的。