2019-12-21(C++中的static)

1  静态成员变量

1.1  我们可以用static来修饰成员变量,因为static是单独的一块区域,所以不用实例化也能够使用。但是使用时也要注意public state 与private static的区别 private只能是类内部才能访问的静态变量。

1.2  无论创建过多少份副本,static变量只有一个

1.3  一般static的初始化在类外进行采用::

class A{

public:

static int lenght;

private :

static int hight;

}

int A ::lenght = 0;//初始化在类外

int A ::hight = 0;//初始化在类外

你在类外访问不了private static


1  静态成员函数

如果把函数成员声明为静态的,就可以把函数与类的任何特定对象独立开来。静态成员函数即使在类对象不存在的情况下也能被调用,静态函数只要使用类名加范围解析运算符 :: 就可以访问。

静态成员函数只能访问静态成员数据、其他静态成员函数和类外部的其他函数。

静态成员函数有一个类范围,他们不能访问类的 this 指针。您可以使用静态成员函数来判断类的某些对象是否已被创建。

静态成员函数与静态变量不需要通过创建对象实例化,就可以进行调用。

而非静态变量就必须通过创建对象实例化,我们才能用这个对象调用它。

如果静态函数中出现非静态成员。

无创建对象的静态方法 中,没有满足调用非静态成员的条件。

你可能感兴趣的:(2019-12-21(C++中的static))