extern关键字使用
如何加载其他模块的全局变量? extern关键字
声明与定义
根据C++标准的规定,一个变量声明必须同时满足两个条件,否则就是定义:
声明必须使用extern关键字;
不能给变量赋初值
1 | int a; //定义 |
使用其他模块变量例子
1 | //file.h |
终端上编译运行,输出
1 | gcc main.cpp file.cpp && ./a.out |
这等同于
1 | //file.cpp |
如果不佳extern关键字将提示变量重复声明。
最佳实践
- h文件extern声明
- c/cpp文件内定义
- 使用时include头文件