注意:静态数据成员,不可以使用初始化列表进行初始化。
静态数据成员一定要初始化。
静态成员函数不可以使用普通数据成员。
在C++中类的成员函数或者数据成员,允许是静态的。比如我想用一个成员来记录当前这个类,有多少个对象。那么,这时就需要静态的数据成员。
静态成员函数与this指针的关系:
普通成员函数都有一个默认的参数。也就是这个对象的this指针。这样能操作自己的成员。
而静态成员函数,就没有这个this指针的参数。所以就不可以调用普通数据成员。
静态成员函数为什么没有this指针:
有一点可以直接证明,也就是静态成员函数不依赖对象,一个类没声明任何对象时也能调用静态成员函数。所以,this指针又会是谁的地址呢。。。当然,不可能,this指针是指向对象的。没有对象哪来的this指针。
生命周期:
静态成员函数与静态数据成员的产生是随着类的产生而产生的。所以可以认为是“全局的“。
静态成员函数为什么没有this指针