回调函数快速使用

原创 2003年08月31日 10:51:00

我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?这里结合自己的使用经历做一个简单的介绍。

使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。至于如何定义回调函数,跟具体使用的API函数有关,一般在帮助中有说明回调函数的参数和返回值等。C++中一般要求在回调函数前加CALLBACK(相当于FAR PASCAL),这主要是说明该函数的调用方式。

至于钩子函数,只是回调函数的一个特例。习惯上把与SetWindowsHookEx函数一起使用的回调函数称为钩子函数。也有人把利用VirtualQueryEx安装的函数称为钩子函数,不过这种叫法不太流行。

也可以这样,更容易理解:回调函数就好像是一个中断处理函数,系统在符合你设定的条件时自动调用。为此,你需要做三件事:

1.       声明;

2.       定义;

3.       设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便于系统调用。

声明和定义时应注意:回调函数由系统调用,所以可以认为它属于WINDOWS系统,不要把它当作你的某个类的成员函数。

这是我的粗浅认识,望指正。

用回调函数实现冒泡排序

用冒泡排序同时排序不同类型的数组, 参看库函数sqort的实现!
  • snow_5288
  • snow_5288
  • 2016年08月06日 20:27
  • 422

什么是回调函数?如何运用?

在使用开源项目的时候经常会使用到回调函数,如果把回调函数弄清楚了,那么对我们深入了解开源项目会有很大帮助。 回调函数百度百科的解释: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)...
  • zhuwentao2150
  • zhuwentao2150
  • 2016年03月29日 17:19
  • 3511

回调函数使用方法--例子程序

http://blog.163.com/ssou_1985/blog/static/2953203620123361340352/ 回调函数:我的理解。假设   A是回调函数,B是调用者,B...
  • heart18335101121
  • heart18335101121
  • 2016年11月13日 19:53
  • 1004

Java 回调函数作用和使用场景

1. 什么是回调函数  回调函数(callback Function),顾名思义,用于回调的函数。 回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分...
  • cangchen
  • cangchen
  • 2015年03月04日 17:54
  • 3211

C++回调函数和this指针的实例

在做到界面开发的过程中,往往需要通过子窗口去操作父窗口的问题。方法很多,大致实现下回调函数和类静态对象的使用。 在类的非静态函数的形参列表里,有个隐含的this指针,但是静态成员函数没有this指针...
  • u010177010
  • u010177010
  • 2016年03月09日 17:26
  • 893

java 回调函数的入门Demo

一:回调:比如说: 张三和李四是好朋友,一天张三遇到一个问题需要李四帮忙计算一下,此时张三就给李四打电话,说 “李四,我是张三,我有一个问题请教你帮我计算一下?”,此时李四就开始计算此问题,计算完问...
  • AnQ17
  • AnQ17
  • 2016年04月07日 15:05
  • 389

java回调函数的作用以及运用

模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也...
  • u010211479
  • u010211479
  • 2016年05月24日 14:47
  • 3168

回调函数的作用

callback function  (2009-06-02 22:23:01) 转载▼ 标签:  回调函数   message   mfc   调用函数   it   ...
  • haiross
  • haiross
  • 2015年08月10日 11:08
  • 1733

轻松使用自己的回调函数

回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。回调函数在windows编程使用的场合很多,比如Hook回调函数:MouseProc,GetMsgP...
  • xjbclz
  • xjbclz
  • 2016年07月04日 22:26
  • 887

JS 对于回调函数的理解,和常见的使用场景应用,使用注意点

很经常我们会遇到这样一种情况: 例如,你需要和其他人合作,别人提供数据,而你不需要关注别人获取或者构建数据的方式方法。 你只要对这个拿到的数据进行操作。 这样,就相当于我们提供一个外在的函数,别...
  • xingxing1828
  • xingxing1828
  • 2014年01月08日 00:49
  • 1481
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:回调函数快速使用
举报原因:
原因补充:

(最多只允许输入30个字)