我正在阅读 DirectXMath 上的文档,偶然发现了下一段:
作为通过重载 new/delete 直接在 C++ 类中强制对齐的替代方法,您可以使用pImpl 习惯用法。如果您确保您的 Impl 类在内部通过 __aligned_malloc 对齐,则您可以在内部实现中自由使用对齐类型。当“公共”类是 Windows 运行时引用类或旨在与 std::shared_ptr<> 一起使用时,这是一个不错的选择,否则可能会破坏仔细对齐。
我不明白 shared_ptr 如何对对齐策略进行任何更改,它只有一个指针,它不分配对象。