比如这是我的myExtern.cpp文件,只有一行代码:
int ex = 3;
然后这是我的main.cpp:
#include <iostream>
using namespace std;
int main()
{
cout << ex << endl; //显然这里会报错:ex没定义
}
如果我在main中加extern关键字:
#include <iostream>
using namespace std;
int main()
{
extern int ex;
cout << ex << endl; //输出3
}
也就是说在没有用#include方法的情况下,extern关键字表明:这个变量是在其它文件里被定义了的。
变量可以用extern,函数也是一样的。
那么extern是不是可以替代#include呢?事实上,对大型程序来说,使用extern比起使用#include会加速编译过程。