私はしばらくの間開発してきました。そして、これらの獣は MFC の wxWidgets コードにときどき現れますが、それらが正確に何をするかについての情報は見つかりません。
私が理解しているように、それらは dynamic_cast がコア C++ に統合される前に登場しました。その目的は、その場でオブジェクトを作成し、実行時に動的にキャストできるようにすることです。
しかし、これが私が見つけたすべての情報が終わるところです。
DLL 内で DECLARE_DYNAMIC_CLASS と IMPLEMENT_DYNAMIC_CLASS を使用し、エクスポートされたクラスに使用されるサンプル コードに出くわしました。そして、この構造は私を混乱させます。
なぜこのように行われるのですか?それは、LoadLibrary を呼び出してから CreateDynamicClass を呼び出して、必要な型にキャストできるポインターを取得するプラグイン ベースのアプローチですか?
DECLARE/IMPLEMENT_DYNAMIC は DLL の境界を越えて機能しますか? クラスでさえ DLLEXPORT に対してそれほど安全ではないため、既存の問題に加えてカスタム RTTI テーブルがあります。
私のクラスを別の DLL の DYNAMIC_CLASS から派生させることは可能ですか? どのように機能しますか?
これらが何のためにあるのか、またはトピックについて2つ以上の文がどこにあるのか、誰か説明してもらえますか?