C++ static 几点总结

1.static变量保存在静态数据存储区。存储在静态存储区的变量生存期是整个源程序,但是作用域因变量不同而有差异。

2.static定义的变量或函数,在别的模块中不能被访问。它不像其他全局变量或函数,通过加extern声明,就可以在不同模块访问。

3.static定义的变量,只在程序编译时初始化一次,至整个程序运行结束为止都不再初始化。static的变量值是否改变取决于程序运行期间调用该变量时是否对其值进行了改变。

4.在类中定义static成员变量,需要进行手动初始化,且不可以在类里面或其他函数里面进行初始化,初始化时不用再加static关键字。初始化时格式为: 

 <变量类型>  <类名>::<static变量名> =  <值>;

5.在类中定义的static成员函数,只能够访问类的static成员变量或static成员函数。

原文地址:https://www.cnblogs.com/shuifei/p/6639063.html