c++中extern这个关键字容易让人混淆的原因是可以省略。
那么如何区分呢
首先如果变量被初始化了 无论省略extern没有都是定义如 int a = 0;
和extern int a = 0;
extern int a;
int a;定义未初始化
extern有两层含义
如果是声明则代表引用外部变量
如果是定义表示可以被外部引用