回调函数机制

博客介绍了回调机制原理,调用方为主进程,被调用方为子模块,子模块通过回调函数响应主进程事件,回调函数是函数指针的用法,改变传入参数可实现不同功能。还提到C++通过std::bind与std::function实现回调机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.回调机制原理

调用方为主进程,被调用方为子模块。子模块通过内部定义的回调函数对主进程中发生的事件进行响应。


      int Callback()    ///< 回调函数
      {
          // TODO
          return 0;
      }
      int main()     ///<  主函数
      {
          // TODO
          Library(Callback);  ///< 库函数通过函数指针进行回调
          // TODO
          return 0;
      }

回调似乎只是函数间的调用,和普通函数调用没啥区别。但仔细看,可以发现两者之间的一个关键的不同:在回调中,主程序把回调函数像参数一样传入库函数。也就是说,回调函数其实就是函数指针的一种用法

这样一来,只要我们改变传进库函数的参数,就可以实现不同的功能,这样有没有觉得很灵活?并且当库函数很复杂或者不可见的时候利用回调函数就显得十分优秀。

参考:回调函数原来这么容易理解-云社区-华为云程序员相关的海量资料,点击免费获取 1 什么是回调函数? 首先什么是“回调”呢? 我的理解是:把一段可执行的代码像参数传递那样传...https://bbs.huaweicloud.com/blogs/273798

2.c++实现回调

c++通过std::bind与std::function实现回调机制。

【C++11 回调函数】function与bind实现函数回调功能(二) - fengMisaka - 博客园一、stdfunction与stdbind双剑合璧 因为类成员函数都有一个默认的参数,this,作为第一个参数,这就导致了类成员函数不能直接赋值给std::function,这时候我们就需要std::https://www.cnblogs.com/linuxAndMcu/p/14576162.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值