C++模拟C#中的委托
来源:互联网 发布:php英文翻译接口 编辑:程序博客网 时间:2024/06/02 03:40
我们知道,C#中有一个关键字delegate,相对应于C++中的函数指针。当然,由于语言本身的原因,二者不可能完全相同。相较于函数指针,delegate用起来要便捷许多。由于个人兴趣的关系,前些日子写了个C++程序用来扩展一个自己的关键字Delegate,以便达到比较容易定义函数指针的目的。
先来看看C#中的委托与C++的函数指针是如何定义与使用的:
C#
C++
二者相比,真的是没有什么大的不同。接着试着加一个宏Delegate,
看起来一切都很好,然而,我忽然意识到了一个问题,如果函数原型是带参数的怎么办?因为宏是不能重复定义的,我总不能重新定义一个DELEGATEWITHARGUMENTS的宏吧?其实这个问题还是可以处理的,那就是使用预定义的可变参数宏__VA_ARGS__。最后,略加修饰,就写了以下的代码:
Macro.h
MainEntry.cpp
Works well!
- C++模拟C#中的委托
- [C#] C#中的委托和事件
- 【C#】C#中的委托与事件
- C#中的委托
- C# 中的委托
- C#中的委托
- c#中的委托!!!!
- c#中的委托
- [原创]c#中的委托
- 浅析C#中的委托
- C# 中的委托
- c#中的委托
- C#中的委托数组
- C#中的委托
- C#中的委托
- C#中的委托
- C# 中的委托类
- C# 中的委托
- 学习计划
- VB.NET如何将几百兆甚至1G以上的文件存入ORACLE的BLOB字段里面去!
- Ubuntu server 10.04安装配置lamp服务器
- 串口线和串口通信介绍
- 访问winxp共享用户名灰色无法更改|取消简单文件共享
- C++模拟C#中的委托
- 如何让你的eclipse的像vs2008一样具有强大的代码提示功能
- 数据结构--栈的操作
- 访问winxp共享用户名灰色无法更改
- 严格控制iframe滚动条
- Hashtable
- ORA-12154: TNS: 无法处理服务名
- 跟我从头学TAO编程系列 (2) -- 编写最简单的TAO应用程序
- 跟我从头学TAO编程系列(3) -- 通过实例学习CORBA核心概念