说起回掉,一直感觉很神秘,网上书上查了很多次,给出的解释大同小异,得到了“回掉是函数指针实现的,用函数指针作为函数参数的一种运用”的认知。其实百度百科介绍的很详细了,但是没有实际运用之前并没有直观地感受,始终不得其法。
最近接触的一个项目,里面用了大量的回掉。在接触大量的运用之后,终于有了真切地感受。从两方面介绍在实际应用中的认知。首先:回掉函数和API对应。API一般有底层实现,上层调用(一般底层都是成型的库,不能上层实现之后,再做底层);但是回掉可以很好的实现上层定义底层调用,功能类似于MFC的事件响应函数。其次:多方合作开发当中,回掉和普通函数对应。普通函数定义和使用都在同一方,一方即可可明确方法的使用时间和实现内容;回掉函数用在多方间,当定义者不知道何时调用