私は DirectXMath のドキュメントを読んでいて、次の文章に出くわしました:
new/delete をオーバーロードして C++ クラスでアライメントを直接強制する代わりに、pImpl イディオムを使用できます。Impl クラスが __aligned_malloc を介して内部的に整列されていることを確認すると、内部実装内で整列された型を自由に使用できます。これは、'public' クラスが Windows ランタイム ref クラスであるか、std::shared_ptr<> での使用を意図している場合に適したオプションです。
shared_ptr がアラインメント戦略を変更する方法がわかりません。ポインターしかなく、オブジェクトを割り当てません。