免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5166 | 回复: 9

[C++] C++如何至少用三种方法实现回调机制? [复制链接]

论坛徽章:
0
发表于 2012-12-05 23:34 |显示全部楼层
如题,如何用三种方法实现回调,实现方法不限,实现方式不限。

论坛徽章:
0
发表于 2012-12-06 09:29 |显示全部楼层
同步、异步、本地、网络、轮询、多线程、函数、函数指针、仿函数、虚函数等等?

论坛徽章:
0
发表于 2012-12-06 14:42 |显示全部楼层
成员函数指针,全局函数指针,函数对象

论坛徽章:
3
寅虎
日期:2013-11-27 07:53:29申猴
日期:2014-09-12 09:24:152015年迎新春徽章
日期:2015-03-04 09:48:31
发表于 2012-12-06 16:42 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2012-12-06 20:55 |显示全部楼层
boost 库里面有现成的代码实现回调,很方便的。

另外,c++11x 里面也增加了这方面的支持。

可以用现成的。

论坛徽章:
3
寅虎
日期:2013-11-27 07:53:29申猴
日期:2014-09-12 09:24:152015年迎新春徽章
日期:2015-03-04 09:48:31
发表于 2012-12-07 08:40 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2012-12-07 10:53 |显示全部楼层
我感觉就是这三种:函数回调,接口回调,事件回调(准确来说这个不能算回调了,算是触发)。
不管全局还是成员还是做么的函数指针都是函数回调。
抽象基类做参数,调用该接口的函数算是接口回调,也就是其他语言的delegate。
事件就简单了,定义个事件,绑定一个函数,参考QT。

论坛徽章:
0
发表于 2012-12-07 17:06 |显示全部楼层
1.virtual函数,需要继承,用基类指针调用这个virtual函数。
2.boost:bind和boost::function,进行动态绑定,不需要继承。
3.模板类,函数中直接调用,使用时需要先实例化,也算一种回调吧。

论坛徽章:
0
发表于 2012-12-07 20:51 |显示全部楼层
sxcong 发表于 2012-12-07 10:53
我感觉就是这三种:函数回调,接口回调,事件回调(准确来说这个不能算回调了,算是触发)。
不管全局还是 ...

lambda也算函数?

论坛徽章:
0
发表于 2012-12-07 22:15 |显示全部楼层
搞来搞去,还不就是函数指针,了不起,你把函数指针再跟它需要的参数绑起来
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP