Smart猫小萌
const 是常量, 也就是只读的, 是一个"右值"比如const int iRet = 2 ;iRet = 3 ; // 这句是错的, const类型只能在初始化的时候赋值, 之后不能改变static称为静态变量, static有两种, 一种是在类的成员变量中, 一种是局部变量或全局变量.在类中的, 用代码解释class exp {static int i1 ;int i2 ;} ;int main() {exp e1 ;exp e2 ;e1.i1 = 5 ;e1.i2 = 10 ;e2.i1 = 15 ;e2.i2 = 20 ;cout << e1.i1 << endl ; //这是输出的会是15cout << e1.i2 << endl ; // 这里输出是10return 0 ;}类中的static变量的意思是, 在这个类的所有实例中的值都是一样的, 它与const不同, const 只是只读, 在其他方面与不带const的变量没什么区别还有一种是const全局变量或局部变量, 这两种是相同的, 局部变量的作用域会和全局变量相同上代码:static int i1 ;int add(int a, int b) {static int c = a + b ;return c ;}void main() {add(5, 8);int result = c ; //这里 result会是13 无论static变量 是全局的还是局部的, 作用域都和全局变量相同cout<<result<<endl;}还有几点static的特点,(适用于static全局变量或局部变量)1.static变量在全局数据区分配内存, 也就是 在生成的可执行文件中占一定空间, 这点与全局变量相同2.static变量只在它所在的源文件中可用. 如果一个项目有很多 .c或者.cpp文件, static变量可以出现在每一个文件中, 而他们却是不同的, static可以解决许多文件中变量 名字相同的问题.