博客链接
C++语言支持分离式编译,该机制允许将程序分割成若干个文件,每个文件可被独立编译。如果将程序分为多个文件,则需要在文件之间共享代码,例如一个文件中的代码可能需要使用另一个文件中定义的变量,如cin和cout在标准库中定义,我们却能在自己的程序中使用。
声明和定义
为了支持分离式编译,C++语言将声明和定义区分开来。声明使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。而定义则负责创建与名字关联的实体。
声明规定了变量的类型和名字,而定义除了规定了变量的类型和名字外,还申请了存储空间,还可能为变量赋一个初始值。如果只是声明一个变量而不是定义它,就在变量名前添加关键字extern并且不要显式初始化变量。
extern int i; //声明而非定义i
int j; //声明并定义j
任何包含