static的作用

由于每次死记硬背都记不下来static的作用,所以我打算理解之后再记忆。

原链接:https://www.cnblogs.com/songdanzju/p/7422380.html

1.隐藏,所有未加static前缀的全局变量和函数都具有全局可见性。

2.保持变量内容持久(改变记忆功能和全局声明周期)

唯一一次初始化。

 局部变量静态之后:改变了生命周期,整个源程序。

 全局变量静态之后:改变了作用域,定义盖变量的函数之外不可见,限制了作用范围。

3.初始化为0

4.静态类成员

(1)类的静态成员函数属于整个类而不属于类的对象,因此没有this指针,导致了只能访问类的静态数据和静态成员函数。

(2)static和virtual不能兼容

(3)静态数据成员是静态存储的,因此必须初始化。

       初始化方式:

       在类外进行,不加static,和一般静态变量和对象区别。

      不加成员的访问权限控制符,private,public。

     使用作用域运算符表明它所属的类。

    格式:<数据类型><类名>::<静态数据成员名>=<值>

(4)防止父类的影响,在子类定义一个与父类相同的静态变量,屏蔽父类的影响。

你可能感兴趣的:(static的作用)