extern 关键字
可以变量的定义和声明分离,定义变量时不能赋初值,用extern关键字。
用于多文件的同一变量使用。
功能测试
三个文件
main.cpptext.htext.cpp
使用
extern在text.h声明变量 v
text.cpp实现修改变量 v 函数
main定义变量 v,输出,调用修改函数输出,编译成功。
将
extern关键字去除,编译失败,重复定义错误在
text.h用宏定义限制只能存在一个,编译失败,还是重复定义错误在如上基础上,不包含
text.cpp文件编译,编译成功(main.cpp记得注释修改函数在如上基础上,
main.cpp调用多次text.h,编译成功在如上基础上,去除宏定义不限制只能存在一个,编译失败,重复定义
大概说明:宏定义限制头文件存在一次是有效的。但是多个 .cpp 文件包含同一个 .h 头文件,是应该分别在其中引用头文件,所以宏定义无法限制总共只能包含一次。
所以要用多文件使用同一全局变量目前我还是只知道这个 extern 刚了解的关键字,QAQ。
发现这里的排版和本地差别有点大,有点丑。随便改进一点排版就这样吧。本人缺乏美感。
本文深入探讨了C++中extern关键字的作用与应用,通过多文件编程实例,详细讲解了如何利用extern实现变量的共享,避免重复定义错误,以及宏定义在控制头文件包含中的局限性。
7639





