-2

我知道静态类成员函数不需要实例化。但是,既然类成员函数的操作总是基于它自己的成员变量,为什么还要使用静态成员函数呢?有人可以通过一些详细的例子告诉我吗?提前致谢。

PS我正在编写一个程序,在一个类成员函数中创建两个线程,因此我需要在创建两个线程时将线程回调函数地址传递给。我希望线程回调函数也是同一个类的成员函数。根据一些参考资料,如果回调函数是类的成员,它应该是静态的。问题来了:在静态回调中,我不能调用同一个类中的其他非静态函数,也不能修改它的非静态成员变量。(英语是我的第二语言,所以我不太擅长。希望有人能帮助我更简洁地描述它:-)

4

1 回答 1

2

我只是给你一个例子。如果你想计算你为你的类声明了多少个实例,你可能有一个静态成员,比如

int instance_count;

在类构造函数中,您可以添加 instance_count,如:

instance_count++;

在你的析构函数中:

instance_count--;

因此,您可以获得程序中当前有多少实例。

于 2013-11-15T05:46:28.323 回答