MFC DYNAMIC_DOWNCAST 与 dynamic_cast
MFC DYNAMIC_DOWNCAST vs. dynamic_cast
MFC 库中的 DYNAMIC_DOWNCAST
和标准 C++ dynamic_cast
运算符有什么区别?我可以对 MFC 对象使用安全 dynamic_cast
而不是 DYNAMIC_DOWNCAST
吗?
当我的 类 包含 DECLARE_DYNAMIC
和 IMPLEMENT_DYNAMIC
宏时,我可以使用 dynamic_cast
运算符还是必须对此类对象使用 DYNAMIC_DOWNCAST
宏?
What is the difference between DYNAMIC_DOWNCAST from MFC library and standard C++ dynamic_cast operator?
DYNAMIC_DOWNCAST 和 dynamic_cast 通过不同的机制在运行时实现同一件事,有关对象数据类型的信息。 DYNAMIC_DOWNCAST 通过使用一组宏来声明和实现用于获取对象的 class 信息的方法。 dynamic_cast 通过使用由编译器实现的 Run-Time 类型信息实现相同的目的。
Can I use safety dynamic_cast instead of DYNAMIC_DOWNCAST for MFC objects?
When my classes contain DECLARE_DYNAMIC and IMPLEMENT_DYNAMIC macros, can I use dynamic_cast operator or I must use DYNAMIC_DOWNCAST macro for this type of objects?
如果您使用 RTTI 编译并且至少有一个虚拟方法,则允许使用 dynamic_cast。
DYNAMIC_DOWNCAST 实现了一堆虚方法,所以你只需要检查你的编译器是否支持 RTTI 以及它是否打开。
MFC 库中的 DYNAMIC_DOWNCAST
和标准 C++ dynamic_cast
运算符有什么区别?我可以对 MFC 对象使用安全 dynamic_cast
而不是 DYNAMIC_DOWNCAST
吗?
当我的 类 包含 DECLARE_DYNAMIC
和 IMPLEMENT_DYNAMIC
宏时,我可以使用 dynamic_cast
运算符还是必须对此类对象使用 DYNAMIC_DOWNCAST
宏?
What is the difference between DYNAMIC_DOWNCAST from MFC library and standard C++ dynamic_cast operator?
DYNAMIC_DOWNCAST 和 dynamic_cast 通过不同的机制在运行时实现同一件事,有关对象数据类型的信息。 DYNAMIC_DOWNCAST 通过使用一组宏来声明和实现用于获取对象的 class 信息的方法。 dynamic_cast 通过使用由编译器实现的 Run-Time 类型信息实现相同的目的。
Can I use safety dynamic_cast instead of DYNAMIC_DOWNCAST for MFC objects? When my classes contain DECLARE_DYNAMIC and IMPLEMENT_DYNAMIC macros, can I use dynamic_cast operator or I must use DYNAMIC_DOWNCAST macro for this type of objects?
如果您使用 RTTI 编译并且至少有一个虚拟方法,则允许使用 dynamic_cast。 DYNAMIC_DOWNCAST 实现了一堆虚方法,所以你只需要检查你的编译器是否支持 RTTI 以及它是否打开。