此片文章为,在网上进行查询回调函数相关文章做的整理:
回调函数是什么?
摘录一:
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货,店员就打你的电话,然后你接到电话就到店里去取了货。在这个例子中,你的电话就是回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了,叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应时间。
理解:我读到这里,我想到到了MFC中自定义消息的实现。创建回调函数和自定义消息,使用函数ON_MESSAGE对消息和回调函数进行绑定,当有消息发来的时候,会触发回调函数。
摘录二:
回调函数就是一个通过函数指针调用的函数,如果你把函数的指针A(地址)作为参数传递给另一个函数B,当这个指针A被B调用时,我们就说A是回调函数。
摘录三:
回调函数,顾名思义,就是系统自己定义一个函数,使用者自己实现这个函数的内容,然后把这个函数地址 作为参数传入系统函数中,有系统函数来调用使用者自己实现的函数。
代码示例:
//定义带参回调函数
Void PrintfText(char*s)
{
printf(s);
}
//定义实现带参回调函数的“调用函数”
void CallPrintfText(void (*callfunct)(char*),char*s)
{
callfuct(s);
}
//在main函数中实现带参的函数调用
int main(int argv,char* argv[])
{
callPrintfText(PrintText,"Hello world \n");
return 0;
}