在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
回调的用途十分广泛。例如,假设有一个函数,其功能为读取配置文件并由文件内容设置对应的选项。若这些选项由散列值所标记,则让这个函数接受一个回调会使得程序设计更加灵活:函数的调用者可以使用所希望的散列算法,该算法由一个将选项名转变为散列值的回调函数实现;因此,回调允许函数调用者在运行时调整原始函数的行为。
回调的另一种用途在于处理信号或者类似物。例如一个POSIX程序可能在收到SIGTERM信号时不愿立即终止;为了保证一切运行良好,该程序可以将清理函数注册为SIGTERM信号对应的回调。
回调的形式因程序设计语言的不同而不同。
-
Objective-C中允许利用@selector关键字传递SEL类型的函数名。在实现中,SEL类型被定义为函数名字符串。
- 在Apple或是LLVM的C语言扩展中,包含称为块的语言特性,可以作为函数的参数传递,作为回调的一种实现。
- C++允许对象提供其自己的函数调用操作的实现,即重载opertor()。标准模板库和函数指针一样接受这类对象(称为函数对象)作为各种算法的参数。
分享到:
相关推荐
回调函数 回调函数 回调函数 回调函数 回调函数 回调函数
在C语言中一般用typedef来为回调函数定义别名(参数名)。 别名通过宏定义typedef来实现,不是简单的宏替换。可以用作同时声明指针型的多个对象。 比如: 代码如下:char *pa,pb;//pa是一个char型指针,但pb是一个...
回调函数被连续执行两次或多次的原因: 根本原因:回调函数的事件预订【+=】语句被执行了两次或多次。 实例:移动web页的代码页类MobileDefault的Page_Init事件过程,包含的InitializeComponent()连续出现了两次...
网上的回调函数都是API例子,学习函数指针倒是不错,可是很难让初学者立即应用。常见的情况是辅线程完成某事件后需要“通知”主界面,比如常见的进度条——线程中完成一定的进度后即通知主界面显示到一定的刻度。本...
C# 实现回调函数C# 实现回调函数C# 实现回调函数C# 实现回调函数C# 实现回调函数
本文实例分析了C++中回调函数(CallBack)的用法。分享给大家供大家参考。具体分析如下: 如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。 其错误是普通的C++成员函数都隐含了一个传递...
ribbon回调函数大全资料
程序实现了在mfc下如何定义一个回调函数,如何使用回调函数,以及如何把类指针传递递给用户回调函数的例程。
对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调...
matlab创建com对象。并采用中断方式响应回调函数,功能完整,包括创建初始化及关闭销毁。回调函数的格式,实现方法。
Opengl中的事件及事件循环,回调函数的介绍,包括鼠标回调函数和键盘回调函数
一个使用C语言写的回调函数 包括函数的调用,函数的取消等操作。
java 回调函数 自己模拟实现 使用了接口来完成
delphi 回调函数示例,有分直接下。
基于 VC++6.0 实现的动态库回调函数示例
如何让类的成员函数作为回调函数 回调函数大家都懂得 需要了解下
STM32定时回调函数
在动态库中调用主程序中的回调函数 用Builder写的
STM32串口通信例程,采用CubeMx进行配置,方便实用,是很不错的STM32通信例程。例程中使用了回调函数,可以让读者体会到回调函数的重要性
C++回调函数.pdf C++回调函数.pdf C++回调函数.pdf mfc c++