それを継承するオブジェクトの配置を指示する基本クラスが必要です。これは、ヒープの割り当て方法と、カスタム配列テンプレートでの配列の割り当て方法を制御できるため、ヒープに対しては正常に機能します。ただし、C++ に関する限り、クラスの実際のサイズはまったく変わりません。つまり、派生クラスのポインターでポインター演算を実行すると、間違った場所にスキップします。それが問題の1つです。
問題 2 は、スタックの配置です。スタック全体を 16 バイトでアラインされたポインターに直接強制する方法はないようです。
これらに影響を与える唯一のことは、vc++ および g++ コンパイラ固有の設定ですが、ここでの問題は、アライメントを常に手動で修正する必要がないことです。それは、苦痛は言うまでもなく、エラーが発生しやすいに違いありません。
ある種のスマート ポインターを作成することもできますが、それによってさらに多くの問題が発生します。
基本クラスだけを揃えると、子クラスも揃えられますか? もしそうなら、それは私の問題のほとんどを解決するでしょうが、そうであるとは思えません (私はこれを試してみます)。