本文主要是介绍努力学习C++的一天(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://www.zhihu.com/question/19801131/answer/17156023
1. c++中回调函数是什么?
回调函数 我的理解是 相当于配了一个秘书,我在办公室忙着我的事情,刚开始我就通知秘书,如果外面有人来访,秘书再来告知我,无事就请勿扰。那如果没有这个秘书,那只能是我忙死了。。。
在这个例子中,有三个人,
我就是程序的主函数,忙着做主程序的事情
秘书就是登记回调函数,主函数在刚开始的时候就应该通知/调用登记回调函数(有人来了再来打扰我,没人就不要打扰我)
外人就是回调函数,当外人来了,就会触发回调函数;秘书告诉我,让我来响应回调函数。
2. 回调函数有什么好处?
最大的好处是你的程序变成异步了。也就是你不必再调用这个函数的时候一直等待这个时间的到达、事件的发生或中断的发生(万一一直不发生,你的程序会怎么样?)。再此期间你可以做做别的事情,或者四处逛逛。当回调函数被执行时,你的程序重新得到执行的机会,此时你可以继续做必要的事情了。
3. 回调函数怎么使用?
- 主函数中要做的事情: 调用登记回调函数
- 登记回调函数要做的事情:如果.....触发回调函数
- 回调函数:触发了之后要做什么,如何回到主函数
例子
登记回调函数
void register(fun)
{//新开一个线程,判断什么时候可以触发回调funif(...){fun();}
}
回调函数
void callback()
{//触发回调之后要做的事情
}
主函数
int main()
{register(callback);return 0;
}
这篇关于努力学习C++的一天(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!