称为全局变量
来源:互联网 发布:java导入excel文件 编辑:程序博客网 时间:2024/06/09 20:00
在上一课中,你学到了一块有块中声明的变量范围。块范围变量只能在块中声明它们(或一个嵌套的子块),并被摧毁当块结束。
一块外声明的变量称为全局变量。全局变量都有计划的范围,这意味着他们可以在程序中到处访问,他们只是被破坏时,程序结束。
这里是声明一个全局变量的一个例子:
1
2
3
4
5
6
7
8
9
10
国际g_nx /全局变量
国际main()
{
在纽约纽约/局部变量
/ /全局变量可以在程序中随处可见
/ /所以我们可以改变他们的价值观在这里
g_nx = 5;
} //纽约是破坏了这里
因为全局变量有计划的范围,他们可以在多个文件中使用。在一节多文件程序,你知道为了使用功能在另一个文件中声明,你必须使用一个声明,或者头文件。
同样,为了使用一个全局变量,已在另一个文件中声明,你必须使用一个前向声明或者头文件,随着extern关键字。extern告诉编译器你没有宣布一个新的变量,而是指一个变量的地方。
这是使用向前声明式的外部的一个例子:
global.cpp:
1
2
的g_nvalue /宣言
国际g_nvalue = 5;
main.cpp:
1
2
3
4
5
6
7
8
/ /外部告诉编译器该变量被声明的地方
extern int g_nvalue;
国际main()
{
g_nvalue = 7;
返回0;
然而,有局部变量同名的全局变量通常是制造麻烦,并应尽可能避免。使用匈牙利表示法,它是常见的全局变量“g_”前缀。这是区分全局变量与局部变量的一种简单的方式,避免了由于被隐藏变量命名冲突。
新的程序员经常使用全局变量很多,因为他们是容易的工作,特别是当涉及到许多功能。然而,这是一个非常糟糕的主意。事实上,一般应完全避免全局变量!
为什么全局变量是邪恶的
应该避免全局变量,有几个原因,但最主要的原因是因为他们增加你的程序的复杂性非常。例如,说你检查一个程序,你想知道一个变量命名g_nvalue用于。因为g_nvalue是全球性的,和全局变量可以用在整个程序的任何地方,你必须检查每一个文件的每一行!在一个文件和数以百万计的代码行的计算机程序,你可以想象这会花多少时间!
第二,全局变量是危险的因为它们的值可以是任何功能,被称为改变,也为程序员知道这会发生,没有简单的方法。考虑下面的程序:
- 称为全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- 全局变量
- java 解析gson数据
- outlook中实现邮件自动回复
- 黑马程序员_OC中的Foundation框架学习
- OpenTLD 未完成 - 虎头
- 英文语法大全
- 称为全局变量
- 键盘记录软件也能够追踪你最高效的时段,例如分析你如何使用电子邮件
- 天使的眼泪
- php处理字符串格式的计算公式
- 控制Highcharts中x轴和y轴坐标值的刻度
- overflow 的各种用法
- GCD使用总结
- JS只能输入数字,字母等的正则表达式
- Runtime类