1定义
局部化:头文件为所向extern对象声明、函数声明以及inline函数定义提供了一个集中的位置,这杯称为声明的局部化。
头文件两个安全保证:(1)保证所有文件都包含同一个全局对象或函数的同一份声明。(2)如果需要修改声明,则只需修改头文件。
头文件注意:(1)创建预编译头文件(2)头文件不应该含有非inline函数或对象的定义。见eg1,eg2.
常量折叠:在编译时期用常量的具体取值代替所有用到常量的地方。
2应用
eg1 :extern int val=10;
double filea;
extern void fiml(){}
这三个定义不应该在头文件出现。原因:如果再同一个程序的两个或多个文件中被包含则会出现重复定义的编译错误。
eg2:typedef unsigned char uchar;
const uchar Line=128;
inline bool is_rela(uchar tok)
{ return tok>11;}
这两个定义可以在头文件中出现。符号常量定义和inline函数定义是特殊的定义。符号常量和inline函数可以被定义多次。