天天看点

C++ static 静态成员变量 和 静态成员函数

  • 静态(static) 成员 变量 
1•  静态成员变量的初始化需要在类外完成;
2•  静态成员不属于具体的某个对象,而属于整个类;
3•  所有对象共享本类中的静态成员;
4•  静态成员最好直接通过类名::成员来访问和调用。
  • 静态成员函数
静态成员函数中没有this指针
出现在类体外的函数定义不能指定关键字static;
静态成员之间可以相互访问,包括静态成员函数访问静态数据成员和访问静态成员函数;
非静态成员函数可以任意地访问静态成员函数和静态数据成员;
静态成员函数不能访问非静态成员函数和非静态数据成员;
由于没有this指针的额外开销,因此静态成员函数与类的非静态成员函数相比速度上会有少许的增长;

调用静态成员函数,可以用成员访问操作符(.)和(->;)为一个类的对象或指向类对象的指针调用静态成员函数。

私有静态成员变量可以通过公有静态成员函数访问。

继续阅读