对于const,static总结
对于C/C++语言来讲, 1,const就是只读的意思,只在声明中使用, 2,static一般有2个作用,规定作用域和存储方式. 对于局部变量: static规定其为静态存储方式,每次调用的初始值为上一次调用的值, 调用结束后存储空间不释放; 对于全局变量: 如果以文件划分作用域的话,此变量只在当前文件可见; 对于static函数也是在当前模块内函数可见. static const 应该就是上面两者的合集. 下面分别说明: 全局: const,只读的全局变量,其值不可修改. static,规定此全局变量只在当前模块(文件)中可见. static const,既是只读的,又是只在当前模块中可见的. 文件: 文件指针可当作一个变量来看,与上面所说类似. 函数: const,返回只读变量的函数. static,规定此函数只在当前模块可见. 类: const,一般不修饰类 static,C++中似乎没有静态类这个说法,一般还是拿类当特殊的变量来看. C#中有静态类的详细说明,且用法与普通类大不相同. http://blog.csdn.net/yuanfeiyan/article/details/1780913中提到:这里转载一篇文章介绍static const的: http://blog.csdn.net/yuanfeiyan/article/details/17809131)static const 与const static是一样的,没有区别
2)static const存储在静态存储区域,不可修改其值的常量,
可用来替代define或enum
3)所有类型的变量都可以声明为static const,只是除int类型外,
其它的类型都必须要在.cpp中进行定义,只能在.h中进行声明。
但是int类型则可以在.h中进行定义。
4)将变量声明为static const,是为了实际需要,
为了设定一个在整个class范围内都不变的常量。