回调函数是一种特殊的函数(指向函数的指针)作为参数传递给调用函数。
回调函数用于事件驱动的场景,即当且仅当特定事件发生时,调用函数才会调用回调函数。
我的疑问是,将回调函数作为(仅)参数发送的原因是什么?
我们不能在调用函数体内调用它,如下所示?
caller() { ............. if(event) { callback_function(); } }
而不是使用以下
caller(....,&callback_function) { ............. }
我在错误的方向思考?
答案 0 :(得分:1)
它可以按照你提出的方式完成,但是作为参数发送给另一个函数的回调的想法是使它们成为非静态可调用对象(适用于任何目的)而不是每个用例的一个实现。此外,您无法始终有权调用"回调"由于范围限制,函数(称为您打算的方式)。