すべての非静的メンバーがPODであるようなクラスX
と、同じメンバーがX
と同じクラスであり、PODであるクラスY
自体。 reinterpret_cast
のインスタンスはY
〜X
の正当なものですか?そうでない場合は、プラットフォーム間で実際に動作しますか?同じメンバーを共有する2つのC++クラスのメモリレイアウト
あなたの背景のビットを与えるために、私のクラスX
は、利便性(すなわちclass X { ... public: static const X& a; static const X& b; }
のための静的メンバとしての地位を持っている、と私はAPIを変更せずに、静的初期化子を削除したい。私の計画はY
タイプのグローバルな静的オブジェクトを作成することでしたし、 X
からreinterpret_cast
それらを - 。すべてのメンバーがPODであるため、私が実行されるように、コンストラクタを必要としないメンバーのレイアウトを想定し
なぜ基本クラスがないのですか?人生の謎を救う –
'reinterpret_cast'は実際にはうまくいくでしょう。 2つを共用体にすると、(この場合は)すべてのフィールドであるフィールドの「共通初期シーケンス」を明示的に参照することができます。 –
@EdHeal "APIを変更しない" –