1、修饰全局变量:该变量只可以在同一个文件中使用。
2、修饰局部变量:将该变量存在静态区,不会因为函数的结束或者一个生命周期的结束而释放。
3、修饰函数:该函数只能在同一个文件中被调用。
4、修饰类的数据成员:表明对该类所有对象这个数据成员都只有一个实例。即该实例归 所有对象共有,它先对象一步存在,要在类外进行初始化。
class Text
{
public:
static int num;
};
int Text::num=0;//用static成员变量必须要初始化
int main()
{
Text a;
cout<<a.num<<endl;
return 0;
}
5、修饰类的成员函数:由于static修饰的类成员属于类,不属于对象,因此static类成员函数是没有this指针的,this指针是指向本对象的指针。正因为没有this指针,所以static类成员函数不能访问非static的类成员,只能访问 static修饰的类成员。
6、静态成员函数只能访问静态成员,非静态成员函数可以访问静态成员和非静态成员。