说起回调函数往往和回调函数指针联系在一起;问题来了我们如何申明回调函数、如何执行回调函数和如何使用回调函数指针?他们之间存在怎样的联系?解答这些问题前先搞懂什么是函调函数?
回调函数:程序通过参数把该函数的函数指针传递给了其它函数,在那个函数里面调用这个函数指针就相当于调用这个函数,这样的过程就叫回调,而被调用的函数
标准定义:typedef void (*SCT_XXX)(LPVOID lp, const CBParamStruct& cbNode);
一、回调函数的申明
在使用函调函数类型的指针需要先声明,包括函数自身的类型、参数的类型等等信息
1:声明函调函数、2:定义函调函数指针、3:定义回调函数的载体函数
1:创建回调函数所属的类;2:实现回调函数3:初始化SetParam
下面展示SetParam()函数的具体实现,如下:
由上图不难看到,在SetParam函数中实际上传过来的是函调函数指针,这就意味着SetParam中通过pCallbackFun参数得到RecvCallBack函数的地址;
四、总结:
以上是解释了回调函数和回调函数指针的关系;回调的本质是函数指针传递,理解回调机制和理解函数指针是其灵活运用的前提;
参考实例:https://blog.csdn.net/yjhdxflqm/article/details/50482119
原理:https://blog.csdn.net/sinat_38183777/article/details/83958887
欢迎关注小编微信公众号 "IT菜籽U"