静态成员可以是private,public,protected的。
静态数据成员的类型可以是常量、引用、指针、类类型的。
静态成员的类内初始化
通常情况下,类的静态成员不应该在类的内部初始化。但是,我们可以为静态成员提供const整数类型的类内初始值。
不过要求静态成员函数必须是字面值常量类型constexpr。初始值必须是常量表达式,因为这些成员本身就是常量表达式,所以它们能在所有适合常量表达式的地方。
即使一个常量静态数据成员在类内部被初始化了,通常情况下在类的外部也应该定义一下该成员。
静态数据成员可以是不完全类型的,但非静态数据成员则收到限制,只能声明它所属类的指针或引用。
静态成员和非静态成员的一个区别是可以使用静态成员作为默认实参。