什么是回调函数?

回调函数是通过函数指针调用的函数。

如果一个函数的指针(地址)作为参数传递给另一个函数,那么当这个指针被用来调用它所指向的函数时,就称之为回调函数。回调函数不是由函数的实现者直接调用,而是在特定事件或条件发生时由另一方调用,用于响应事件或条件。

反正回调函数是继承自C语言的。在C++中,回调函数应该只在用C代码建立接口或者处理已有的回调接口时使用。除了上述情况,在C++中应该使用虚方法或函子来代替回调函数。

扩展数据

回拨功能的好处:

1,回调函数可以把调用者和被调用者分开,所以调用者不在乎被调用者是谁。它只需要知道有一个被调用的函数有一个特定的原型和约束。简而言之,回调函数就是让用户把要调用的函数的指针作为参数传递给一个函数,让函数在处理类似事件时可以灵活地使用不同的方法。

2.回调可用于通知机制。比如有时候需要在程序A中设置一个定时器,程序A会在某个时间得到通知,但是通知机制的实现者对程序A一无所知..然后,需要一个具有特定原型的函数指针来进行回调,以通知程序A事件已经发生。事实上,API使用回调函数SetTimer()来通知计时器。

百度百科-回调函数