【原创】C++变量作用域(一)
作用域的使用一定要注意,一般是以一对花括号范围作为一个作用域,例如一下一段函数代码:
1 Void Func(void)
2 {
3 Int i =100;
4 Int Sum=0;
5 For(int i =0;i<10;I++)
6 {
7 Sum+=i;
8 }
9 Printf(i); //打印出来的值是100,因为i只是for循环里面的局部变量
10 }
2 {
3 Int i =100;
4 Int Sum=0;
5 For(int i =0;i<10;I++)
6 {
7 Sum+=i;
8 }
9 Printf(i); //打印出来的值是100,因为i只是for循环里面的局部变量
10 }
一个变量在一个CPP中只是不加其他特殊修饰词如const或static声明定义时,例如:int a=7;它能被同时编译的其他CPP文件访问,这些CPP文件中需要用extern修饰符说明变量已经在其他地方声明定义了。C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。声明定义static静态局部变量并不是在本文件中就能访问该变量,而是只能在函数作用域有效,它声明定义的变量和其他局部变量不同的是,变量存在于内存的静态区域变量的值将保留下来,例如:
Static的另外一个作用就是前面所说的,让该变量只能在本CPP文件中有效。当Static用于声明类的成员函数或者变量时,变量为该类的所有对象共享,在内存中只存在一份,任何对该变量作出的改变都会影响到使用该变量的地方并引起相应的变化。其实可以节省内存空间,达到数据在对象间的共享。
posted on 2009-08-21 00:10 IamEasy_Man 阅读(515) 评论(0) 收藏 举报
浙公网安备 33010602011771号