static关键字
- 当变量声明为static时,空间将在程序的生命周期内分配。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非常有用。
- 类中的静态变量,由于声明为static的变量只被初始化一次,因为它们在单独的静态存储中分配了空间,因此类中的静态变量由对象共享,静态变量不能使用构造函数初始化。类中的静态变量应由用户使用类外的类名和范围解析运算符显式初始化,
class Apple
{
public:
static int i;
Apple()
{
// Do nothing
};
};
int Apple::i = 1;
- 和变量一样,如果对象的生命周期只在一个局部内,例如一个if或一对{}内,static声明之后其生命周期即可扩展至当前程序。
- 类中static静态成员函数仅可以访问其他Static静态成员函数和变量,不可以访问其他非static成员函数和变量。

浙公网安备 33010602011771号