我知道静态类成员函数不需要实例化。但是,由于类成员函数的操作始终基于其自己的成员变量,为什么我们仍然使用静态成员函数?有人可以通过一些细节例子告诉我吗?提前谢谢。
P.S。我正在编写一个程序,在一个类成员函数中创建两个线程,这样我就需要在创建两个线程时传递线程回调函数地址。我希望线程回调函数也是同一个类的成员函数。根据一些参考文献,如果回调函数是类的成员,它应该是静态的。有一个问题:在静态回调中,我不能在同一个类中调用其他非静态函数,并且不能修改它的非静态成员变量。 (英语是我的第二语言,所以我不擅长。希望有些人能帮助我更简洁地描述一下: - )
答案 0 :(得分:2)
我只想举个例子。如果要计算已声明的关于类的实例数,可能会有一个静态成员,如
int instance_count;
在类构造函数中,您可以添加instance_count,如:
instance_count++;
并在你的析构函数中:
instance_count--;
因此,您可以获得当前在程序中有多少个实例。