以前要想把一个成员函数转成一个线程,非要写个封装函数专门强转一下,如果考虑能用性就得写汇编把成员函数指针存起来,因为void*不能与成员指针之间直接强转,只有用汇编来赋值,昨天我突然想到用模版可以完美解决此问题,动手写了几行代码,果然通过了,代码如下
以后只要声明一个成员函数为 void fun();格式,即可用BeginThread来调用,再也不用为每一个类写一个线程封装函数了.
如果不用MFC,稍微改一下即可.真是太幸福了,以前一直羡慕delphi可以把成员函数指针直接转成通用的TMethod的做法,今天终于在c++里也实现了,兴奋ing!