实现如果不知道其定义，在编译时便无法适当的展开内联函数。）
替代.在访问声明在不同文件中的标识符问题上，头文件不是唯一的解决方法。他们也有缺点，当定义改变的时候可能仍然需要在两个地方来修改（头文件和源文件）。一些更新的语言（如Java）省略掉了头文件，而使用（naming scheme），这就允许编译器来定位与接口和类实现相关的源文件。
#include语句的两种语法.codice_4语句有两种方式包含头文件，分别是使用双引号codice_6与左右尖括号c