打印
[软件资料]

为什么要用回调函数?

[复制链接]
87|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
为什么要用回调函数?

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

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



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


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

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

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

使用特权

评论回复
沙发
szt1993| | 2024-4-10 10:25 | 只看该作者
在回调中,主程序把回调函数像参数一样传入库函数,更加灵活

使用特权

评论回复
板凳
中国龙芯CDX| | 2024-4-10 19:30 | 只看该作者
回调函数只要我们改变传进库函数的参数,就可以实现不同的功能

使用特权

评论回复
地板
小夏天的大西瓜| | 2024-4-11 11:21 | 只看该作者
回调函数可以把调用者与被调用者分开,所以调用者不关心谁是被调用者。它只需知道存在一个具有特定原型和限制条件的被调用函数。

使用特权

评论回复
5
jf101| | 2024-4-14 15:37 | 只看该作者
回调函数使用起来非常方便

使用特权

评论回复
6
小小蚂蚁举千斤| | 2024-4-15 09:44 | 只看该作者
用回调函数是因为他比较方便大家进行使用

使用特权

评论回复
7
OKAKAKO| | 2024-4-19 18:49 | 只看该作者
回调函数只要我们改变传进库函数的参数,就可以实现不同的功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

1274

帖子

3

粉丝