C++编程语言从出现至今已经发展了20年之久。其功能的强大性使其一跃成为开发领域中一个重要的应用语言。在这里我们会为大家详细介绍一下有关C++变量作用域在使用时所应该注意的事项,以方便大家使用。
C++变量作用域的使用一定要注意,一般是以一对花括号范围作为一个作用域,例如一下一段函数代码:
- Void Func(void)
- {
- Int i =100;
- Int Sum=0;
- For(int i =0;i<10;I++)
- {
- Sum+=i;
- }
- Printf(i); //打印出来的值是100,因为i只是for循环里面的局部变量
- }
一个变量在一个CPP中只是不加其他特殊修饰词如const或static声明定义时,例如:int a=7;它能被同时编译的其他CPP文件访问,这些CPP文件中需要用extern修饰符说明变量已经在其他地方声明定义了。C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。
前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。声明定义static静态局部变量并不是在本文件中就能访问该变量,而是只能在函数C++变量作用域有效,它声明定义的变量和其他局部变量不同的是,变量存在于内存的静态区域变量的值将保留下来,例如:
- void func()
- {
- static int a=7; //***次调用变量初始化,以后a的值都是最近改变的值
- a++;
- cout<<a<<endl;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- func(); //输出的a值为8
- func(); //输出的a值为9,因为之前函数对a的操作保存下来了
- while(true)
- {
- }
- return 0;
Static的另外一个作用就是前面所说的,让该变量只能在本CPP文件中有效。当Static用于声明类的成员函数或者变量时,变量为该类的所有对象共享,在内存中只存在一份,任何对该变量作出的改变都会影响到使用该变量的地方并引起相应的变化。其实可以节省内存空间,达到数据在对象间的共享。
以上就是对C++变量作用域的相关介绍。
【编辑推荐】