const与static的区别

对于C/C++语言来讲, :
-----const就是只读的意思,只在声明中使用;  
-----static一般有2个作用,规定作用域和存储方式.
      对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;  
      对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数可见.  
-----static const 应该就是上面两者的合集.  
下面分别说明:  
全局:  
const,只读的全局变量,其值不可修改.  
static,规定此全局变量只在当前模块(文件)中可见.  
static const,既是只读的,又是只在当前模块中可见的.  
文件:  
文件指针可当作一个变量来看,与上面所说类似.  
函数:  
const,返回只读变量的函数.  
static,规定此函数只在当前模块可见.  
类:  
const,一般不修饰类,(在VC6.0中试了一下,修饰类没啥作用)  
static,C++中似乎没有静态类这个说法,一般还是拿类当特殊的变量来看.C#中有静态类的详细说明,且用法与普通类大不相同.

posted @ 2013-08-28 23:50  ubersexual  阅读(1122)  评论(0编辑  收藏  举报