在类中使用和非类中
非类中:
-
隐藏
举例:
一个a.cpp文件,一个b.cpp文件。这个是a.cpp的内容:
#include<iostream> int g_a = 1; void fun() {}
这个a.cpp中的变量g_a和函数fun在b.cpp中是可以访问且使用的。
加static后就对其他源文件(a.cpp之外的)隐藏了。 -
默认初始化为0
备注:未初始化的全局静态变量和局部静态变量,以及未初始化的全局变量都初始值为0,因为都存储在全局静态存储区 -
局部静态变量生命周期不在仅是所属函数,生命周期为整个程序,但是作用域不变。
类中使用:
- 修饰数据成员:①不属于任何类对象,属于该类 ; ②在类外初始化
- 修饰成员函数:①不能用virtual、const声明; ②无法访问非静态成员函数和非静态数据成员 ; ③非静态成员函数可以访问静态数据和静态数据成员。