记录一些C++的基础知识.
比较重要的知识点, 会新开一个页面.
为了允许把程序拆分成多个逻辑部分来编写, C++支持分离式编译(separate compilation)机制. 为了在多个文件之间共享代码, C++将声明和定义区分开来.
声明(declaration)使得名字为程序所知, 而定义(definition)负责创建与名字关联的实体.
声明(而不定义)一个变量的方法是, 在变量名前加关键字extern, 并且不要显示地初始化变量.
extern int i; // 声明变量i而非定义
extern double pi = 3.14159; // 定义变量pi
int j; // 定义变量j
特点 | 声明 | 定义 | 备注 |
---|---|---|---|
规定类型和名称 | √ | √ | |
申请存储空间 | × | √ | |
可以多次 | √ | × | 一个变量可以多次声明, 但不能多次定义. |
不能在函数体内部初始化extern标记的变量.
extern int i;
extern int j = 1;
int k;
int main()
{
extern int m;
//extern int n = 1; // 不能对带有块范围的外部变量进行初始化
int i = 1;
int j = 1;
int k = 1;
//int m = 1; // m重定义
//m = 1; // 无法解析的外部符号m, 需要在函数体外进行定义.
}
作用
分 类内 / 类外
原文:https://www.cnblogs.com/taoz27/p/13028505.html