回调函数
2016-01-17 01:09
176 查看
回调函数
复习了下函数指针,把复习得到的东西记录一下:
以前用c语言qsort
函数的时候,知道传入一个函数指针的参数,这个函数是由自己写的,用来确定排序的顺序是由大到小还是由小到大,以前没有特别的考虑,想着为什么要这么麻烦,直接传入一个flag确定方向不就好了。
现在重新看了下回调函数,发现那个不就是回调函数嘛!回调函数的执行体由我们自己写,调用回调函数的qsort
函数由库函数写好,这样就实现了代码的最大化重用
,效率又比较高。
仔细想想,回调函数最显著的特点应该就是分离,把一个比较通用的代码块(qsort
函数)中的需要特殊化的部分(qsort
中的比较函数)分离开,这样除了比较函数外,其他部分利用率达到了最高。
除此之外,回调函数还可以比较好的分离调用与被调用
,使得调用者不必知道回调函数的具体调用形式,只要知道调用回调函数的具体形式就可以了(往往这是更加简洁易记的)。
总之,函数指针还有一些好玩的用法,以后继续学习。
另外函数指针的类型一般用typedef重新命名以便于简化代码,格式如下:void CallBack(void); //以此回调函数声明为例 typedef void (*CBF)(void);//CBF就是指向回调函数形式的指针类型 //调用回调函数的函数的声明类似下面: void SetCallBack(CBF f);
相关文章推荐
- 关于指针的一些事情
- C#中异步回调函数用法实例
- C# Pointer指针应用实例简述
- C++智能指针实例详解
- C++指向函数的指针实例解析
- 关于c语言指针的两处小tip分享
- 浅析iterator与指针的区别
- 探讨C++中数组名与指针的用法比较分析
- 详解C++中的指针、数组指针与函数指针
- C++中字符串以及数组和指针的互相使用讲解
- C语言安全之数组长度与指针实例解析
- C++中指向对象的常指针与指向常对象的指针详解
- 指向变量的常指针与指向常变量的指针详细解析
- C#通过指针实现快速拷贝的方法
- node.js回调函数之阻塞调用与非阻塞调用
- php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
- C#通过指针读取文件的方法
- C语言指针学习经验总结浅谈
- 浅谈javascript回调函数
- 告诉你什么是javascript的回调函数