如何有效减少全局变量的使用
2011-08-24 11:27
495 查看
一个子程序与外界的直接联系越少,则内聚性越好,而与外界联系,就是全局变量和参数 ,所以参数和全局变量越少越好,否则程序很难维护,可读性也不高。而且,全局变量占用固定地址不变,在函数中,或局部要读取它时还得到外界去找,而且在一个大点的程序中如果大量使用全局变量会降低程序的可读性,而且占用了大量的有限空间,降低运行速度。
全局变量有些时候是无法避免的,只能尽量减少全局变量。我能想到的主要有三个方面:
1、通过函数参数传递数据或指针。对于回调函数,通常有一个参数是自定义的数据指针,可以利用这个参数传递类指针或者自定义一个结构的指针。
2、只在某一个函数中使用的变量可以定义为局部静态变量(在函数内部定义,前面加static修饰)。
3、把全局变量定义成一个结构,定义一个全局的结构体变量。
转自:http://www.tctl.com.cn/accp/1533/sort01549/311318.html
全局变量有些时候是无法避免的,只能尽量减少全局变量。我能想到的主要有三个方面:
1、通过函数参数传递数据或指针。对于回调函数,通常有一个参数是自定义的数据指针,可以利用这个参数传递类指针或者自定义一个结构的指针。
2、只在某一个函数中使用的变量可以定义为局部静态变量(在函数内部定义,前面加static修饰)。
3、把全局变量定义成一个结构,定义一个全局的结构体变量。
转自:http://www.tctl.com.cn/accp/1533/sort01549/311318.html
相关文章推荐
- 如何减少全局变量污染?
- Vue中SASS如何全局使用变量,mixin,或者function
- [置顶] 如何统计网站访问量,代码实现使用全局变量 Application,start,end,Session_start,Session_end事件
- C++如何定义多个文件使用全局变量
- 如何在C Builder中使用全局变量
- 如何统计网站访问量,代码实现使用全局变量 Application,start,end,Session_start,Session_end事件
- 在头文件中定义变量以及static变量意味着什么?全局变量要如何正确使用?关键字extern要怎么用?
- 多个源代码,如何使用公共全局变量
- 让你的javascript函数拥有记忆功能,减少全局变量的使用
- 在ASP.net中如何定义和使用全局变量
- Qt学习: 如何在Qt中使用全局变量!出现无法解析的命令的问题看过来!!
- application类的实现以及如何使用application类实现全局变量传值
- Android 如何定义全局变量 以及 static静态变量使用误区 的问题
- 在Android中如何使用全局变量--Application context
- js中如何定义和使用全局变量
- 如何减少JS的全局变量污染
- C#中如何定义全局变量及在各窗体中使用全局变量
- 在MFC中如何使用全局变量
- 解决多重定义问题/如何声明全局变量让多个cpp文件使用
- try函数内部生成的变量如何全局使用?