类的静态成员
- 静态成员可以是public 或 private
静态成员函数也不与任何对象绑定在一起,它们不包含this指针。作为结果,静态成员函数不能声明为const的,而且我们也不能在static函数体内使用this指针。也意味着它们不是类的构造函数初始化的。
我们使用作用域运算符直接访问静态成员:
class A{static void func();}
auto r = A::func();虽然静态成员不属于类的某个对象,但是我们仍然可以使用类的对象、引用或指针来访问静态成员。
但成员函数不能通过作用域预算符就能直接使用静态成员静态成员和普通成员的另外一个区别就是:我们可以使用静态成员作为默认实参。非静态数据成员不能作为实参。
- 静态成员可以实现数据共享