本征对齐问题
文档中列出的Eigen的内存对齐问题是否仍然适用于C ++ 11? 看来C ++ 11已经可以正确地对齐堆栈和堆上的对象,并且支持alignment的alignas
和std::allocator
。
是的,对齐问题仍然存在于C ++ 11中。 alignas
说明符对动态分配没有影响,因此仍然会导致未对齐,从而导致Eigen抛出的断言。
你将不得不继续使用本征提供了不结盟分配设施,如EIGEN_MAKE_ALIGNED_OPERATOR_NEW
分配对象或Eigen::aligned_allocator<T>
用于对准容器。