回调函数 callback 的实现原理是什么?

2023-05-26 0 957

在讲节录前闲谈几句话,前段时间毕竟是有点儿忙,昨晚早已是上周第三次天天上工了,以后上工寄送贴文后接到了许多老师的重视,很是敬佩,非常感谢他们:

回调函数 callback 的实现原理是什么?

子公司忙出来后确实有时候上工Pontaumur的,但这并非恒常,在这儿也告诫他们一千万不要看球,对身心健康吗不太好,能不上工就不上工,一般说来,皮肤是所有人的此基础。

只不过以后小风哥写过有关反弹表达式基本原理的该文,在这儿《10那哥让你全盘认知反弹表达式》,这首诗文本很全面性,但却是有许多老师在QQ上问我是并非克雷姆斯兰县的,下列是反弹表达式基本原理的极三百三十一。

只不过反弹表达式和一般表达式没其本质的差别。

具体来说让他们来看一看一般的表达式初始化,假定他们在A表达式中初始化表达式func:

void A() { … func(); … }

想想,你是并非晓得能初始化func呢?哦,原本func是你他们表述的:

void func() { blablabla; }

这很单纯吧,那时假定你撰写的那段标识符至极之牛逼,在世界上的开发人员都至极狂热的想导入到他们的工程项目中,此时你会把A表达式集结成一个库供在世界上的码农采用。

但此时其他人都发现一个问题,那是他们都想在A表达式中的某个特定点上执行一段他们的标识符,作为这个库的创作者你可能会这样同时实现:

void A() { … // 特定点 if (张三) { funcA(); } else if (李四) { funcB(); } … }

假定全世界有一一千万码农,那你是并非要有一一千万个if else。。。想想这样的标识符就很刺激是并非!

更好的办法是甚么呢?把表达式也当做变量!你能这样表述A表达式:

void A(func f) { … f(); … }

任何一个码农在初始化你的A表达式时传入一个表达式变量,A表达式在合适的时机初始化你传入的表达式变量,从而节省了一一千万行标识符

为了让这个过程更加难懂一些,这个表达式变量起了一个至极难懂的称呼:反弹表达式。

那时你应该明白了反弹表达式是是并非一回事了吧,相比反弹表达式来说我更愿意将其看做表达式变量

以上是反弹表达式的基本基本原理,有想看更详细版本的请参考这儿。

以上仅仅是反弹表达式的一种用途,回调表达式在基于事件驱动编程以及异步编程时更是必备的,有关事件驱动编程你能参考这儿,GUI编程的老师对此肯定很熟悉。

希望这儿的讲解对他们认知反弹表达式有所帮助。

https://mp.weixin.qq.com/s/zS7URRO5sNzobUNIqSJHIg

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务