特征对齐问题

tml*_*len 8 memory-alignment eigen c++11 eigen3

文档中列出的Eigen的内存对齐问题是否仍然适用于C++ 11?似乎C++ 11已经能够正确地对齐堆栈上和堆上的对象,alignas并且std::allocator支持对齐.

Pet*_*r K 5

是的,C++11 中仍然存在对齐问题。在alignas说明符对动态分配,其可以因此仍然造成导致由本征抛出断言未对准没有影响。

您将不得不继续使用 Eigen 提供的用于对齐分配的工具,例如EIGEN_MAKE_ALIGNED_OPERATOR_NEW用于分配对象或Eigen::aligned_allocator<T>对齐容器。