C++委托
ilvu999
这个作者很懒,什么都没留下…
展开
-
让模板类支持可变模板参数
让模板类支持可变模板参数(不定个数的参数) (2012-06-30 17:03) 标签: C++ 可变参数 分类:C++原文:http://blog.csdn.net/bluedog/article/details/4715542现如今才正真发现c++模板的强大,模板的强大在于不需要使用RTTI机制可以传递参数的类型信息,不过也有其遗憾的地方,就是对于引用和复制,模转载 2012-11-25 17:58:17 · 553 阅读 · 0 评论 -
略说成员函数指针及其模板的精简实现
略说成员函数指针及其模板的精简实现 请容许先发一句牢骚,“这万恶的成员函数指针的丑陋语法!”,C中的函数指针的语法已经够难看的了,但相比之下,成员函数指针却更加不堪入目,使用上又很不方便,很不人性化,简直是只能行走寸步。只可惜,函数指针的作用实在太大了,忽视不得。 大家都知道,函数指针(或又叫回调函数)是上层模块和底层模块进行通信的最佳手段,上层通过提供函数指针给底层,以使得底转载 2012-11-24 09:19:26 · 495 阅读 · 0 评论 -
用标准C++实现信号与槽机制 笔记
用标准C++实现信号与槽机制信号对象保存参数,以及槽对象列表.对信号而言槽的类型只与函数指针的参数类型相关.槽保存被绑定的对象,以及需要转发调用的函数指针.只有绑定时才知道被绑定对象的类型.绑定时,根据被绑定的对象由模板动态生成槽对象.构建一个槽时,被绑定的对象的类型的信息,作为模板参数生成槽对象.#include #include原创 2012-09-06 00:07:38 · 1740 阅读 · 1 评论 -
一个C++ delegate的实现
一个C++ delegate的实现更新说明:修改了借口,增加了对smart_ptr的支持。最近需要一个C++delegate的实现,比较接近C#的delegate的用法。翻遍了boost,虽然有相近的东西,但是,始终使用起来问题多多:function:的绑定方式倒也可以接受,成员函数调用的方式实在不爽。而且,同样的函数原型,native和member对应的function类转载 2012-09-06 00:13:46 · 704 阅读 · 0 评论 -
用 C++ 实现 C# 中的 委托/事件 (1-delegateEMU.cpp)
前两天看程序员杂志看到关于 C# 中的委托/事件觉得用起来好像是挺方便的本人热衷于 C++想想用 C++ 来模拟似乎也可以于是就有了下面的代码...(VC6 不支持偏特化 本人工作环境就是 VC6 痛啊~~~)没有返回值的函数用 delegate否则就用 delegate_rtfunctor 也一样 functorN/functorN_rtdelegate转载 2012-01-14 09:32:28 · 464 阅读 · 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 · 669 阅读 · 0 评论 -
实现一个高效C++委托类(多分派)
1、暂命名为Functor,因为没考虑返回值的情况,这在多分派委托处理中,算是个麻烦事,以后类名可能改为Delegate. 2、根据i_like_cpp翻译的技术文章《成员函数指针与高性能的C++委托》提供的思路做成的,不过原文所提到的FastDelegate实现太复杂,所以自己做 1、暂命名为Functor,因为没考虑返回值的情况,这在多分派委托处理中,算是个麻烦事,以后类名可转载 2012-01-04 12:05:13 · 580 阅读 · 0 评论 -
委托、信号和消息反馈的模板实现技术
委托、信号和消息反馈的模板实现技术作者:落木随风提交者:eastvc 发布日期:2003-9-20 10:25:27原文出处:未知憋了很长一段时间的想法,在这里说说,希望听听诸位高手的意见。我写过不少C++程序(当然比起高手还是差远了),写过库也写过客户程序。一般库都会提供一些好用的类供客户程序使用,不少库还可以让客户程序响应库内的某些事件。比如MFC/ATL/VC转载 2012-10-08 14:26:11 · 859 阅读 · 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 · 943 阅读 · 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 · 3190 阅读 · 0 评论 -
C++实现委托和消息反馈模板
我写过不少C++程序(当然比起高手还 是差远了),写过库也写过客户程序。一般库都会提供一些好用的类供客户程序使用,不少库还可以让客户程序响应库内的某些事件。比如MFC/ATL/VCL 提供消息响应,很多ActiveX提供自定义消息响应,甚至是系统底层的中断调用都可以列入这个范畴。然而,正是以上这些“反向”的调用让我觉得很烦恼。继承+多态乍一看是理所当然的选择,库中的类把响应处理函数设置为虚转载 2012-11-21 14:43:19 · 619 阅读 · 0 评论 -
C++中实现回调机制的几种方式
C++中实现回调机制的几种方式(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件:typedef void (__stdcall *DownloadCallback)(const char转载 2012-11-24 15:02:00 · 527 阅读 · 0 评论