gpt4 book ai didi

c++ - 任何人都可以用几个术语解释 DYNAMIC_CLASSes 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:12 25 4
gpt4 key购买 nike

我已经开发了一段时间。这些野兽不时出现在 MFC、wxWidgets 代码中,但我找不到任何关于它们究竟做什么的信息。

据我了解,它们出现在 dynamic_cast 集成到核心 C++ 之前。目的是允许动态创建对象和运行时动态转换。

但这就是我找到的所有信息的结尾。

我遇到了一些在 DLL 中使用 DECLARE_DYNAMIC_CLASS 和 IMPLEMENT_DYNAMIC_CLASS 的示例代码,这些代码用于导出的类。这种结构让我感到困惑。

为什么要这样做?这是一种基于插件的方法吗?您可以在其中调用 LoadLibrary,然后调用 CreateDynamicClass 来获取可以转换为所需类型的指针?

DECLARE/IMPLEMENT_DYNAMIC 是否在 DLL 边界上工作?由于即使是 DLLEXPORT 类也不是那么安全,除了现有问题之外,这里我们还有一个自定义 RTTI 表。

是否可以从另一个 DLL 的 DYNAMIC_CLASS 派生我的类,它是如何工作的?

任何人都可以向我解释这些东西的用途,或者我在哪里可以找到关于一个主题的两个以上的句子?

最佳答案

这个东西将额外的类型信息附加到你的类,这允许以独立于运行时的方式进行 RTTI,有可能让工厂创建你的类和许多其他事情。您可以在 COM、QMetaObject 等处找到类似的方法

关于c++ - 任何人都可以用几个术语解释 DYNAMIC_CLASSes 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com