[软件资料] 为什么要用回调函数?

[复制链接]
 楼主| AdaMaYun 发表于 2024-4-7 17:00 | 显示全部楼层 |阅读模式
为什么要用回调函数?

因为可以把调用者与被调用者分开,所以调用者不关心谁是被调用者。它只需知道存在一个具有特定原型和限制条件的被调用函数。

简而言之,回调函数就是允许用户把需要调用的方法的指针作为参数传递给一个函数,以便该函数在处理相似事件的时候可以灵活的使用不同的方法。

1png.png

  1. int Callback()    ///< 回调函数
  2. {
  3.     // TODO
  4.     return 0;
  5. }
  6. int main()     ///<  主函数
  7. {
  8.     // TODO
  9.     Library(Callback);  ///< 库函数通过函数指针进行回调
  10.     // TODO
  11.     return 0;
  12. }


回调似乎只是函数间的调用,和普通函数调用没啥区别。

但仔细看,可以发现两者之间的一个关键的不同:在回调中,主程序把回调函数像参数一样传入库函数。

这样一来,只要我们改变传进库函数的参数,就可以实现不同的功能,这样有没有觉得很灵活?并且当库函数很复杂或者不可见的时候利用回调函数就显得十分优秀。
szt1993 发表于 2024-4-10 10:25 | 显示全部楼层
在回调中,主程序把回调函数像参数一样传入库函数,更加灵活
中国龙芯CDX 发表于 2024-4-10 19:30 | 显示全部楼层
回调函数只要我们改变传进库函数的参数,就可以实现不同的功能
小夏天的大西瓜 发表于 2024-4-11 11:21 | 显示全部楼层
回调函数可以把调用者与被调用者分开,所以调用者不关心谁是被调用者。它只需知道存在一个具有特定原型和限制条件的被调用函数。
jf101 发表于 2024-4-14 15:37 | 显示全部楼层
回调函数使用起来非常方便
小小蚂蚁举千斤 发表于 2024-4-15 09:44 | 显示全部楼层
用回调函数是因为他比较方便大家进行使用
OKAKAKO 发表于 2024-4-19 18:49 | 显示全部楼层
回调函数只要我们改变传进库函数的参数,就可以实现不同的功能
您需要登录后才可以回帖 登录 | 注册

本版积分规则

299

主题

2492

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部