我一直在開發一段時間。而且這些怪獸會不時出現在MFC中,wxWidgets代碼,但我無法找到任何有關他們的確切操作的信息。任何人都可以用幾個術語解釋DYNAMIC_CLASSes?
據我所知,他們出現在dynamic_cast被集成到核心C++之前。其目的是允許動態創建對象,以及運行時動態強制轉換。
但是,這是我找到的所有信息都以此結束。
我遇到了一些示例代碼,它使用DLL中的DECLARE_DYNAMIC_CLASS和IMPLEMENT_DYNAMIC_CLASS,並用於導出的類。這種結構讓我感到困惑。
爲什麼這樣做?這是一種基於插件的方法,您可以在其中調用LoadLibrary,然後調用CreateDynamicClass以獲取可以轉換爲所需類型的指針?
DECLARE/IMPLEMENT_DYNAMIC是否在DLL邊界上工作?既然班級對DLLEXPORT來說不是很安全,並且在這裏我們有一個自定義的RTTI表格以及現有的問題。
是否有可能從另一個DLL的DYNAMIC_CLASS派生我的類,它將如何工作?
任何人都可以請解釋我是什麼這些事情,或者我可以在一個主題上找到兩個以上的句子嗎?
你可能會覺得這個答案有幫助:http://stackoverflow.com/questions/14318993/why-is-declare-dynamic-implement-dynamic-nessary-for-dynamic -downcast/14319634#14319634 – snowdude 2013-03-04 12:10:34