作者:fseiei | 来源:互联网 | 2023-05-21 17:00
优点:
1)全局可见,任何 一个函数或线程都可以读写全局变量-同步操作简单。
2)内存地址固定,读写效率比较高。
缺点
1长期占用内存
生命周期长,程序运行期一直存在,始终占有那块存储区;
2难以定位修改
全局变量是公共的,全部函数都可以访问,难以定位全局变量在哪里被修改,加大了调试的难度;
3使函数理解
使用全局变量的函数,需要关注全局变量的值,增加了理解的难度,增加了耦合性;
4初始化顺序
全局变量的初始化顺序不定,如果全局变量之间有依赖,有可能导致某些变量初始化失败呢,引起莫名其妙bug。
5污染命名空间
全局变量会污染命名空间,在函数中局部变量会覆盖全局的值,会出现同一个变量名多个值的情况,造成困惑;
6增加耦合性
修改全部变量会影响所有用到它的模块,不利于调试;
线程不安全