浅谈C++之回调函数

参考示例:https://blog.youkuaiyun.com/yidu_fanchen/article/details/80513359

说起回调函数往往和回调函数指针联系在一起;问题来了我们如何声明回调函数、如何执行回调函数和如何使用回调函数指针?他们之间存在怎样的联系?解答这些问题前先搞懂什么是回调函数?

回调函数:程序通过参数把该函数的函数指针传递给了其它函数,在那个函数里面调用这个函数指针就相当于调用这个函数,这样的过程就叫回调,而被调用的函数

标准定义typedef void (*SCT_XXX)(LPVOID lp, const CBParamStruct& cbNode);

一、回调函数的申明

在使用函调函数类型的指针需要先声明,包括函数自身的类型、参数的类型等等信息

 

1:声明函调函数、2:定义函调函数指针、3:定义回调函数的载体函数

  • 回调函数的使用

 

1:创建回调函数所属的类;2:实现回调函数3:初始化SetParam

下面展示SetParam()函数的具体实现,如下:

 

由上图不难看到,在SetParam函数中实际上传过来的是函调函数指针,这就意味着SetParam中通过pCallbackFun参数得到RecvCallBack函数的地址;

四、总结:

以上是解释了回调函数和回调函数指针的关系;回调的本质是函数指针传递,理解回调机制和理解函数指针是其灵活运用的前提;

参考实例:https://blog.youkuaiyun.com/yjhdxflqm/article/details/50482119

原理:https://blog.youkuaiyun.com/sinat_38183777/article/details/83958887  

致谢博主:一度凡尘

欢迎关注小编微信公众号 "IT菜籽U"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值