回调函数本质:通过函数指针调用函数
回调函数,就是由你自己写的。你需要调用另外一个函数,而这个函数的其中一个参数,就是你的回调函数名。这样,系统在必要的时候,就会调用你写的回调函数,这样你就可以在回调函数里完成你要做的事。
例子:你送朋友去高铁站,进站时你嘱咐说:“上车了给我发条消息” 。你留了个参数函数(要求朋友给你发消息)给朋友,然后你朋友上车,上车的动作是主函数。她必须先上车(主函数执行完了),再根据函数指针调用相关函数,然后你就收到一条信息了。
#include <iostream>
using namespace std;
int add(int a, int b)
{
return a + b;
}
void test(int(*p)(int, int), int a, int b)
{
cout << (*p)(a, b) << endl;
}
void main()
{
int a = 10;
int b = 3;
test(add, a, b);
system("pause");
}