标签:
为了允许把程序拆分为多个逻辑部分来编写,C++语言支持分离式编译机制,允许将程序分割为若干个文件,每个文件可以独立编译。
为了支持分离式编译,C++将声明和定义区分开。声明使得名字为程序所知,一个文件如果想使用别处定义的名字必须包含对那个名字的声明。定义则负责创建与名字关联的实体。
变量声明规定了变量的类型和名字,定义还额外的申请储存空间,也可能会为变量赋一个初值。
想声明一个变量而不是定义它,在变量名之前添加关键字extern,而且不要显示地初始化变量:
extern int i; // 声明i而非定义 int j; // 声明并且定义
任何包含显示的初始化声明即为定义:
extern double pi = 3.1416; // 定义
在函数体内部,如果试图初始化一个由extern关键字标记的变量,将引发错误。
变量只能被定义一次,但是可以被多次声明。
如果要在多个文件中使用同一个变量,就必须声明和定义分离。此时,变量的定义必须出现在且只能出现在一个文件中,而其他用到该变量的文件必须对其声明,绝不能重复定义。
标签:
原文地址:http://www.cnblogs.com/vitah/p/4320730.html