回调是作为参数传递给其他代码的任何可执行代码,预计将在给定时间回调(执行)参数。用简单的语言来说,如果一个函数的引用作为参数传递给另一个函数来调用它,那么它将被称为回调函数。
在 C 中,回调函数是通过函数指针调用的函数。
下面是一个 C 中的简单示例来说明上述定义,使其更加清晰:
// A simple C program to demonstrate callback
#include<stdio.h>
void A()
{
printf("I am function An");
}
// callback function
void B(void (*ptr)())
{
(*ptr) (); // callback to A
}
int main()
{
void (*ptr)() = &A;
// calling function B and passing
// address of the function A as argument
B(ptr);
return 0;
}
I am function A在 C++ STL 中,functors 也用于此目的。