Java では、'Class' メソッド 'newInstance' を使用してオブジェクトをインスタンス化できます。これは、私の特定のシステムでは非常に役立つと思います。私は今、C++で同様のことを達成しようとしています。
これがどのように達成されるかは私には明らかではありませんでしたが、いくつかの熟考の後....(わかりましたか...ハァッ?)「 sizeof' クラス インスタンスと、この量のメモリを malloc して void * として返すメソッド newInstance 。呼び出しコードは、これを適切にキャストする必要があります。
C++ 言語は、これが有効かどうかを適切に定義していますか?
ところで..私は、バックアップ計画であるクラスのファクトリを保持するレジストリを作成できることを認識しています。この質問への回答として、私が議論したことが機能するかどうかという特定の質問に焦点を当てることに価値があります.
よろしくお願いします
* 追加のコンテキスト * この要件の理由は、汎用ライブラリが、ライブラリ ユーザーが認識しているがライブラリ自体は認識していないクラスをインスタンス化できるようにするためです。ライブラリには、これを実現するために使用するメタデータがいくつかあるため、クラスのサイズを知ることができます。ファクトリ オブジェクトをメタ データに追加する必要がないことは、ユーザーの観点からは「すっきり」しています。