一个更为简单易用的THUNK类

    利用THUNK技术回调类成员函数,是一项前几年很热门的技术,网上的资料和示例代码也很多,但这些代码普遍存在一些差强人意的地方,要么缺乏通用性,需要针对不同的回调函数作调整,要么使用起来不方便,需要在应用代码里写上三、四行以上不相关(甚至有些莫名其妙)的代码或宏,不便于代码的阅读和维护。

    针对这些缺点,我编写了一个更为简单易用的使用THUNK技术的回调函数类,类代码和示例如下:

  

    第一个应用实例:派生一个回调无参数类成员函数的定时器的类。

 

    由此实例可以看出,读者在使用CThunkBase基类时,只需要两行语句,一是public CThunkBase,二是GetFuncAddr。是不是简单明了啊?

    然后,我们再来看一下基于CThunkBase派生的一个简单的窗口类及其调用实例:

 

    同第一个派生类一样,也只需要两行代码,public CThunkBase和GetFuncAddr。其实,在多重派生里CThunkBase运行结果依然正确。

    由于水平有很,代码中难免存在漏洞,欢迎指正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值