静态成员一旦被定义就存在在程序的整个生命周期内。
1 类的静态成员必须用''static"关键字声明在类的内部(可以是常量,引用,指针,类类型等),可以声明在(public 和 private)
2 类的静态成员一般在类的外部定义与初始化(不用“static”关键字)
3 也可以在类的内部对静态成员进行初始化但是成员必须为constexpr类型,初始值也是constexpr类型。在类的外部在补充定义一个不带初始值的静态成员。
class bank
{
public: static constexpr int a=3;
};
constexpr int bank:: a;
4类的静态成员函数不能声明成是const的类型,而且我们也不能在静态成员函数内使用this指针
5 我们可以通过作用域运算符使用静态成员,r=bank::a;
6 可以通过类的对象,指向类的指针,绑定到类的引用来使用静态成员
bank b;
bank *p=&b;
bank &y=b;
z=b.a;
z=p->a;
z=y.a;
参考:C++Primer 第五版(p268,类的静态成员)