编程中的全局变量、资源利用与代码风格
1. 全局变量的危害
全局变量应尽可能避免使用,从高层次看,它类似于编程语言中的 GOTO 语句。以下详细探讨全局变量的定义、问题及应对方法。
- 定义 :严格来说,全局变量具有全局作用域,能在整个程序的任何地方被访问。在实际编程中,若一个变量可在定义它的模块范围之外或未将其作为参数传递的情况下被访问,那它就是全局变量。不同编程语言定义全局变量的方式不同:
- 汇编语言 :通过标签访问的变量是全局变量,例如 LDA MyVar 中的 MyVar 。
- 经典 BASIC :所有变量都是全局变量。
- C 和 C++ :定义在过程作用域之外的变量是全局变量,如:
int GlobVar; /* this is a global variable */
void MyFunc(void)
{ GlobVar = 5 ; }
- **Java**:变量通常不是全局的,除非通过声明为 `public static` 使其在声明对象之外可见。
需要注意的是,动态变量和静态变量与局部变量和全局变量容易混淆。动态变量在运行时自动在栈上创建,而静态变量有永久地址,能永久保留值。静态变量不一定是全局变量,动态变量也不一定是局部变量。例如:
超级会员免费看
订阅专栏 解锁全文
6566

被折叠的 条评论
为什么被折叠?



