c++ extern的作用通俗来说的作用就是:
可以在一个文件中引用另一个文件中定义的变量或者函数
(1).先看引用同一个文件中的变量
#include <iostream> using namespace std; int main() { std::cout << a; return 0; } int a = 100;
很明显上面的代码中我们不可能输出变量a的值,除非我们把int a =100放在最上面,但是我们不会那么做,我们是用extern来测试效果的,通过extern引用最下面的int a =100;
#include <iostream> using namespace std; int main() { extern int a; std::cout << a; return 0; } int a = 100;
(2).再看引用其他文件中的变量
创建main.cpp
#include <iostream> using namespace std; int main() { extern int a; std::cout << a; return 0; }
创建other.cpp
#include <iostream> using namespace std; int a = 100; int other() { std::cout << "this is other func"; return 0; }
编译执行,正常运行。切记,引用其他文件中变量,这个变量在其他文件中必须是全局变量
(3).再看引用其他文件中的函数
创建main.cpp
#include <iostream> using namespace std; int main() { extern int other(); std::cout << other(); return 0; }
创建other.cpp
int other() { return 110; }
编译执行,正常运行。切记,引用其他文件中变量,这个变量在其他文件中必须是全局变量