Need Of DECLARE_DYNAMIC?
Need Of DECLARE_DYNAMIC?
DECLARE_DYNAMIC()
用于获取RTTI,当一个类派生自CObject
类时,我知道它。但是我在代码中看到,从CPropertySheet
派生的类具有此宏。 -> 它有什么需要,因为既不使用 iskindof() 也没有使用任何其他运行时信息?
这个派生类有两个构造函数,在创建对象时通过new
调用。
我的问题是这门课上DECLARE_DYNAMIC()
需要什么?
使用此宏允许以 MFC 方式轻松进行类型检查。假设您有一个特殊的 CPropertyPage 基类,或者您有一个特殊的派生 CPropertySheet,其中包含一个名为 CMyClass 的特殊接口,您可以使用 DYNAMIC_DOWNCAST 轻松进行类型检查的强制转换。
所以快速的答案是:如果要将DYNAMIC_DOWNCAST或STATIC_DOWNCAST与MFC类型检查一起使用。它只允许使用IsKindOf。
它是DECLARE_DYNCREATE DECLARE_SERIAL DECLARE_DYNAMIC的最低形式。
在堆栈溢出中,这里还有更多答案。
相关文章:
- 在成员dynamic_bitset上使用 boost::from_block_range 时出错,但在本地dynamic
- C++类中的二维"dynamic"数组?
- protobuf in C++ with dynamic binding for google::protobuf::M
- 警告的原因是什么:"when type is in parentheses, array cannot have dynamic size"?
- 编译器是否实际使用我的"omp declare simd"函数?
- #define 的"Declaration does not declare anything"错误
- CUDA 错误:"dynamic initialization is not supported for __device__, __constant__ and __shared__ variabl
- 如何修复'The procedure entry point SDL_RWclose could not be located in the dynamic link library'
- "The ordinal 344 could not be located in the dynamic link library"
- "Windows doesn't support proper dynamic linking?"是什么意思
- 当从此到子类中的新对象时,将显示警告"destination for this 'memcpy' call is a pointer to dynamic class..."
- 使用Dynamic Lib使用全局新和删除
- Dynamic vector using Struct
- Qt QObject dynamic array
- C++ 具有"dynamic"体的 lambda 表达式
- C++ std::map vs dynamic array
- 在win2k3上运行.exe时发生"The procedure entry point GetErrorMode could not be located in the dynamic link l
- 使用Qt的国际化,则翻译"dynamic"内容
- 创建新的"dynamic"对象?
- 为@dynamic属性动态创建getter和setter,导致无限循环