静态成员
静态数据用得较多的场合:
(1)用来保存流动变化的对象个数
(2)作为一个标志,表明一个特定的动作是否发生(如某一文件状态)。
(争夺标记,类似令牌 )
(3)一个指向一个链表第一成员或最后一个成员的指针。
静态数据成员:
(1) 不管一个类的对象有多少个,其静态数据成员也只有一个,由这些对象所共享,可被任何一个对象所访问。
(2) 在一个类的对象空间内,不包含静态成员的空间,所以静态成员所占空间不会随着对象的产生而分配,或随着对象的消失而回收。
(3) 静态数据成员的存储空间的分配是在程序一开始运行时就被分配。并不是在程序运行过程中在某一函数内分配空间和初始化。
(4) 静态数据成员的初始化语句,既不属于任何类,也不属于包括主函数在内的任何函数,静态数据成员初始化语句最好在类的实现部分定义
(5) 对于在类的public部分说明的静态数据成员,可以不使用成员函数而直接访问,既使未定义类的对象,同样也可以直接访问,但在使用时也必须用类名指明所属的类。
而private和protected部分的静态成员只能通过类的成员函数访问。