- 1
- 0
- 约1.02万字
- 约 8页
- 2018-03-26 发布于河南
- 举报
在C 中实现.NET风格的委托
在C++中实现.NET风格的委托
在。NET 中,委托被用来实现事件处理。它允许一个类(方法)先注册一个事件,然后当
此事件被引发时此注册的方法就会被调用。在非。Net 环境的C++中,这并不是一件容易的
事,尤其是类的非静态成员函数,要做为回调函数就更困难了。本文的目标就是给出一种解
决方案, 使类的静态成员函数,非静态成员函数,还有类非成员函数都能像回调函数一样
使用。这个实现非常重视类型安全,为了保持类型安全我们省去了某些特性的实现。
什么是委托?
。NET 框架中对委托的定义如下:
委托是一个可以保持对某个方法引用的类。不同于其它类,委托类有自己的签名(返
回值,参数类型,个数),并且只能引用与其签名匹配的方法。委托其实可以看成一个类型
安全的函数指针或回调函数。
一个提供了委托的类允许其它函数或类在此委托上注册事件处理函数。然后当这个类的
委托被执行时,就会遍历其处理函数列表,逐个调用,并传入传给委托的信息。而提供委托
的那个类不需要知道委托注册了多少处理函数,委托自己会处理这一切。
正文
函数对象(functor)概述
我们用函数对象(functor, function object)来实现C++中的委托。这允许一个非静态
成员
您可能关注的文档
最近下载
- 2024年成都铁路局招聘全日制普通高校毕业生笔试公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 《海南大学学报(人文社会科学版)》创刊40周年刊文量化分析.pdf VIP
- 家用电风扇逻辑电路设计报告.pdf VIP
- T_CDAIA 0008—2024(电动汽车有序充电和V2G双向互动技术规范).pdf VIP
- 2025年中级注册安全工程师《安全生产法律法规》真题及答案解析(完整版).docx VIP
- 大庆油田套损情况及钻井工程质量分析.pdf VIP
- 【2025年】保安员考试题库附完整答案.docx
- 问题清单整改清单(纪检组长).pdf VIP
- 2025年北京铁路局招聘笔试备考题库及答案解析.docx VIP
- NB_SH_T 6027-2021CN 润滑脂分油的测定 压力过滤法.docx
原创力文档

文档评论(0)