函数每次在调用前,需要先声明,为了不在每份文件中都声明,将函数声明放在头文件中,并在每个程序的代码里包含这些函数的声明。
一般不把函数的定义放在头文件,因为同一个程序的多个代码文件都可能包含这个头文件;
:::tips
inline函数除外,为了能够扩展inline函数的内容,在每个调用点上,编译器都需要取得其定义;
:::
- 全局变量如果被多个文件访问,那么也应该声明在头文件中(指针的声明需前加extern)
:::tips
const object和inline函数一样是个例外,其定义只要一出文件外便不可见,加入头文件后,包含头文件即可实现跨文件使用。
:::
const int seq_cnt=6;
extern const vector<int>* ( *seq_array[seq_cnt])(int);//这不是一个const object,
//而是一个指向const object的指针