解决 documentation 中列出的 Eigen 的内存对齐问题仍然适用于 C++11?似乎 C++11 已经可以处理正确对齐堆栈和堆上的对象,使用 alignas
和 std::allocator
支持对齐。
最佳答案
是的,C++11 中仍然存在对齐问题。 alignas
说明符对动态分配没有影响,因此仍然会导致未对齐,从而导致 Eigen 抛出断言。
您将不得不继续使用 Eigen 为对齐分配提供的工具,例如 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
用于分配对象或 Eigen::aligned_allocator<T>
用于对齐容器。
关于c++11 - 特征对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29536356/