C++函数用法1:回调函数
来源:互联网 发布:淘宝网太极刀 编辑:程序博客网 时间:2024/06/02 07:31
软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。
同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用。
回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。
异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。回调和异步调用的关系非常紧密,通常我们使用回调来实现异步消息的注册,通过异步调用来实现消息的通知。
在C++中回调函数的定义:
回调函数:就是使用者自己定义一个函数,使用者自己实现这个函数的程序内容,然后把这个函数作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,就是由别人的函数运行期间来回调你实现的函数。
例子:
标准Hello World程序:
int main(int argc,char* argv[]){ printf("Hello World!\n"); return 0;}
将它修改成函数回调样式:
//定义回调函数void PrintfText() { printf("Hello World!\n");}//定义实现回调函数的"调用函数"void CallPrintfText(void (*callfuct)()){ callfuct();}//在main函数中实现函数回调int main(int argc,char* argv[]){ CallPrintfText(PrintfText); return 0;}
修改成带参的回调样式:
//定义带参回调函数void PrintfText(char* s) { printf(s);}//定义实现带参回调函数的"调用函数"void CallPrintfText(void (*callfuct)(char*),char* s){ callfuct(s);}//在main函数中实现带参的函数回调int main(int argc,char* argv[]){ CallPrintfText(PrintfText,"Hello World!\n"); return 0;}
0 0
- C++函数用法1:回调函数
- C语言回调函数用法示例
- C 函数指针 回调函数
- C 函数指针与回调函数
- 回调函数用法
- 回调函数用法
- 回调函数 用法
- 回调函数用法
- 回调函数,回调函数应用,qsort函数用法,以及模拟实现qsort函数
- C 回调函数
- 【c++】回调函数
- C 回调函数
- C回调函数
- [C] 回调函数
- C 回调函数
- C回调函数
- [C++]回调函数
- 内联函数/回调函数/仿函数(functor)-------(c++)
- 当两个div无法放在一行的解决办法
- 1041. Be Unique
- 带新手走进神秘的HTTP协议
- 计算机开机后的第一条指令
- 二维通道下输入和输出一个矩阵
- C++函数用法1:回调函数
- Codeforces617E【莫队算法+前缀异或】
- 1042. Shuffling Machine
- 每日170219-20
- ESP(栈顶指针)EBP(栈底指针)
- 蓝桥杯 错误票据
- 1043. Is It a Binary Search Tree
- 源码阅读--Collections.sort
- 命名(Name)