通常每一个.cpp文件都有一个对应的.h文件,但是也有例外如main函数所在的.cpp文件。
C++标准库中除了定义C++语言特有的功能外,还兼容了C语言的标准库。C语言的头文件形如:name.h,而C++中将这些文件命名为cname,去掉了.h后缀,在前面添加了字母c,c的含义表示这是一个属于C语言标准库的头文件。在cname头文件中定义的名字属于名称空间std,在代码中使用using namespace std 来使用名称空间,而定义在.h头文件中的则不在std名称空间中。所以一般
来说C++程序应该使用cname形式的头文件,而不是.h头文件。
在头文件中为了防止被多重包含一般使用#ifndef...#define...#endif来进行头文件保护,现在也可以使用#pragma once 来替代,表示只编译一次。另外需要注意的是,在头文件中尽量少使用using namespace XX来包含整个名称空间。