c++中为何要设计static成员函数,有什么特别用途

c++中为什么要设计static成员函数,有什么特别用途?
省内存空间?加快访问速度?非static成员函数可以访问所以的数据成员,为什么还要定义static成员函数?

------解决方案--------------------

一般在实现回调函数, 或者线程函数时使用,
其他的场合比较少, 尽量少.

------解决方案--------------------
1. static对象或函数属于类,不从属于类所创建的对象。在不创建对象的情况下都可以使用(无论是变量还是函数,当然static函数也只能操作static变量,不能操作普通成员变量)。
2. static变量必需初始化。
3. 类的对象构建过程不会动到static变量和函数(除非你调用或修改),因为它存在静态内存,程序加载进内存的时候它就存在;而对象生命周期不同。
4. 线程启动时通常使用类的static函数做线程函数,因为其静态特性。
5. singleton使用static函数,可以直接调用。