推扬网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
推扬网 门户 你问我答 查看内容

C++语言中declare_dyncreate的含义

2020-7-13 16:22| 发布者: admin| 查看: 46| 评论: 0

摘要: asdf_12346的回答 这是MFC的序列化框架的实现手法而已。就是用一些宏技巧搭配其它的代码来能够实现较为复杂的RTTI(运行时类型信息)。一般情况下不必关注这个,除非你想了解MFC框架的底层。它的本质就是MFC的序列化 ...

asdf_12346的回答

这是MFC的序列化框架的实现手法而已。就是用一些宏技巧搭配其它的代码来能够实现较为复杂的RTTI(运行时类型信息)。

一般情况下不必关注这个,除非你想了解MFC框架的底层。

它的本质就是MFC的序列化要求所有类都有一个CreateObject的静态方法用于创建自身。同时每个类都要求维护一个静态的CRuntimeClass对象,用于保存这个类的类型信息以便运行时动态查询。
DECLARE_DYNCREATE这个宏就是使用了一些技巧,来完成以上东西的定义,每个类里面加入这一句宏就可以完成上述的要求而不必自己手动写了。

基本上任何C++的RTTI框架或者序列化框架都有类似的手法,这方面钻下去有点深,如果不搞这方面的没必要看,真要看多了其实也就自己明白了。

吾啸的回答

就是声明了这个,能判断一个对象的类型.
例如class A,A a;
我们能知道a是A类型.

鲜花

握手

雷人

路过

鸡蛋

最新评论

热门推荐
最新资讯

广告服务|投稿要求|禁言标准|版权说明|免责声明|手机版|小黑屋|推扬网 ( 粤ICP备18134897号 )|网站地图 | 邮箱:vayae@hotmail.com

GMT+8, 2024-3-29 16:21 , Processed in 0.351835 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部