C/C++语言static关键字的作用
全局静态变量
在全局变量前添加static变成全局静态变量,在整个程序运行期间一直存在
内存中的位置:静态存储区,在整个程序运行中一直存在
初始化:未初始化的全局静态变量会被自动初始为 0
作用域: 全局静态变量在声明他的文件之外不可见,也就是说从申明他到文件结尾是他的作用域
局部静态变量
给局部静态变量添加static后,就变成一个局部静态变量
内存中的位置:静态存储区
初始化:未初始化会自动被初始化为0
作用域:仍然是局部作用域,当定义它的函数或者语句结束的时候,作用域结束,但是并没有销毁,仍然在内存中,只不过只能到该函数时才能去访问他
静态函数
函数前面加static表示是个静态函数,就和全局静态变量一样只在加了static中可以看到,不能被其他文件用
类静态成员
类的静态函数:
静态函数和静态成员成员一样,他们都不是对象中的成员,静态成员的引用不需要用对象名。
在静态成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员。如果要用非静态成员,可以通过对象来引用