C++委托
ilvu999
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
让模板类支持可变模板参数
让模板类支持可变模板参数(不定个数的参数) (2012-06-30 17:03) 标签: C++ 可变参数 分类: C++ 原文:http://blog.youkuaiyun.com/bluedog/article/details/4715542 现如今才正真发现c++模板的强大,模板的强大在于不需要使用RTTI机制可以传递参数的类型信息,不过也有其遗憾的地方,就是对于引用和复制,模转载 2012-11-25 17:58:17 · 614 阅读 · 0 评论 -
略说成员函数指针及其模板的精简实现
略说成员函数指针及其模板的精简实现 请容许先发一句牢骚,“这万恶的成员函数指针的丑陋语法!”,C中的函数指针的语法已经够难看的了,但相比之下,成员函数指针却更加不堪入目,使用上又很不方便,很不人性化,简直是只能行走寸步。只可惜,函数指针的作用实在太大了,忽视不得。 大家都知道,函数指针(或又叫回调函数)是上层模块和底层模块进行通信的最佳手段,上层通过提供函数指针给底层,以使得底转载 2012-11-24 09:19:26 · 551 阅读 · 0 评论 -
用标准C++实现信号与槽机制 笔记
用标准C++实现信号与槽机制 信号对象保存参数,以及槽对象列表. 对信号而言槽的类型只与函数指针的参数类型相关. 槽保存被绑定的对象,以及需要转发调用的函数指针. 只有绑定时才知道被绑定对象的类型. 绑定时,根据被绑定的对象由模板动态生成槽对象. 构建一个槽时,被绑定的对象的类型的信息,作为模板参数生成槽对象. #include #include原创 2012-09-06 00:07:38 · 1824 阅读 · 1 评论 -
一个C++ delegate的实现
一个C++ delegate的实现 更新说明: 修改了借口,增加了对smart_ptr的支持。 最近需要一个C++delegate的实现,比较接近C#的delegate的用法。翻遍了boost,虽然有相近的东西,但是,始终使用起来问题多多: function:的绑定方式倒也可以接受,成员函数调用的方式实在不爽。而且,同样的函数原型,native和member对应的function类转载 2012-09-06 00:13:46 · 760 阅读 · 0 评论 -
用 C++ 实现 C# 中的 委托/事件 (1-delegateEMU.cpp)
前两天看程序员杂志 看到关于 C# 中的委托/事件 觉得用起来好像是挺方便的 本人热衷于 C++ 想想用 C++ 来模拟似乎也可以 于是就有了下面的代码... (VC6 不支持偏特化 本人工作环境就是 VC6 痛啊~~~) 没有返回值的函数用 delegate 否则就用 delegate_rt functor 也一样 functorN/functorN_rt delegate转载 2012-01-14 09:32:28 · 512 阅读 · 0 评论 -
[C/C++再探讨STL里的function和bind的实现
前一段时间仔细研究了下STL里面的function和bind,并写了两篇博文: std::tr1::function源码剖析(一) std::tr1::function源码剖析(二) 虽然当时仔细的研究了MS的STL库里function和bind的代码,但是还有不甚明白的地方。刚好昨天有时间,就想彻底的弄明白function到底是怎么回事。没想到这一下子还真的想通了! function类在转载 2012-10-22 10:44:45 · 742 阅读 · 0 评论 -
实现一个高效C++委托类(多分派)
1、暂命名为Functor,因为没考虑返回值的情况,这在多分派委托处理中,算是个麻烦事,以后类名可能改为Delegate. 2、根据i_like_cpp翻译的技术文章《成员函数指针与高性能的C++委托》提供的思路做成的,不过原文所提到的FastDelegate实现太复杂,所以自己做 1、暂命名为Functor,因为没考虑返回值的情况,这在多分派委托处理中,算是个麻烦事,以后类名可转载 2012-01-04 12:05:13 · 647 阅读 · 0 评论 -
委托、信号和消息反馈的模板实现技术
委托、信号和消息反馈的模板实现技术 作者:落木随风 提交者:eastvc 发布日期:2003-9-20 10:25:27 原文出处:未知 憋了很长一段时间的想法,在这里说说,希望听听诸位高手的意见。 我写过不少C++程序(当然比起高手还是差远了),写过库也写过客户程序。一般库都会提供一些好用的类供客户程序使用,不少库还可以让客户程序响应库内的某些事件。比如MFC/ATL/VC转载 2012-10-08 14:26:11 · 908 阅读 · 0 评论 -
C语言实现《大话设计模式》中的观察者模式中的委托例程
C语言实现《大话设计模式》中的观察者模式中的委托例程 1. #ifndef __ENTRUSTOBSERVER_H__ 2. #define __ENTRUSTOBSERVER_H__ 3. #include "rtthread.h" 4. #include "finsh.h" 5. //根据类名和类里面项的名,获得类的入口句柄 6. #define ClassEntr转载 2012-10-18 15:39:05 · 986 阅读 · 0 评论 -
在ANSI C下设计和实现简便通用的signal-slot机制
http://bbs.chinaunix.net/thread-1592226-2-1.html 注:在几处发表同样的主题,希望通过讨论,接收到大家提出各种建议或意见,抛砖引玉。 在ANSI C下设计和实现简便通用的signal-slot机制 ——一种平台相关但易于移植的,lambda表达式风格的,经由抵抗编译器而得的方案 最近在ARM平台下做一些开发,考虑到转载 2012-09-06 00:06:43 · 3269 阅读 · 0 评论 -
C++实现委托和消息反馈模板
我写过不少C++程序(当然比起高手还 是差远了),写过库也写过客户程序。一般库都会提供一些好用的类供客户程序使用,不少库还可以让客户程序响应库内的某些事件。比如MFC/ATL/VCL 提供消息响应,很多ActiveX提供自定义消息响应,甚至是系统底层的中断调用都可以列入这个范畴。然而,正是以上这些“反向”的调用让我觉得很烦恼。 继承+多态 乍一看是理所当然的选择,库中的类把响应处理函数设置为虚转载 2012-11-21 14:43:19 · 694 阅读 · 0 评论 -
C++中实现回调机制的几种方式
C++中实现回调机制的几种方式 (1)Callback方式 Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。 比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件: typedef void (__stdcall *DownloadCallback)(const char转载 2012-11-24 15:02:00 · 585 阅读 · 0 评论
分享