C++ static
C++ static
static
有两种类别:
- 静态变量: 函数中的变量,类中的变量
- 静态类的成员: 类对象和类中的函数
静态变量
函数中的静态变量
当变量声明为static
时,变量的空间将在程序的生命周期内分配
即使多次调用该函数,静态变量的空间也只分配一次
类中的静态变量
类中声明为static
的变量只被初始化了一次,在单独的静态存储中分配了空间,所以类中的静态变量由对象共享
对于不同的对象,不能有相同静态变量的多个副本,因此静态变量不能使用构造函数初始化。
静态成员
类对象为静态
像变量一样,对象也在声明为static
时具有范围,直到程序的生命周期结束才进行析构
类中的静态函数
就像类中的静态数据成员或静态变量一样,静态成员函数也不依赖于类的对象。
允许使用对象和.
来调用静态成员函数,但建议使用类名和范围解析运算符::
来调用静态成员函数
本文由作者按照 CC BY 4.0 进行授权