●类的静态成员与类的本身直接相关,而不是与类的各个对象保持相关。
静态数据成员的声明
●通过在成员的声明之前加上关键字static使得其与类关联在一起。和其他成员一样,静态数据成员的访问权限也可以是public、private、projected。静态数据成员的类型可以是常量、引用、指针、类类型等等。
class A
{
private:
static int _count;
};
int main()
{
sizeof(A);//计算A类所占内存的大小
return 0;
}
结果:
可以得知,只含一个静态数据成员的类的大小为1,即为空类的大小,所以当创建一个类的对象时,系统不会为类中的静态数据成员开辟空间。在编译期间,就会为类的静态成数据员准备好内存空间。
●类的静态数据成员存在于任何对象之外,对象中不包含任何与静态数据成员有关的数据。