c++11 - 特征对齐问题

标签 c++11 eigen memory-alignment eigen3

解决 documentation 中列出的 Eigen 的内存对齐问题仍然适用于 C++11?似乎 C++11 已经可以处理正确对齐堆栈和堆上的对象,使用 alignasstd::allocator支持对齐。

最佳答案

是的,C++11 中仍然存在对齐问题。 alignas说明符对动态分配没有影响,因此仍然会导致未对齐,从而导致 Eigen 抛出断言。

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

关于c++11 - 特征对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29536356/

相关文章:

c++ - 如何用 Eigen 找到基变化的变换矩阵

c++ - 无法使用 Eigen 库进行编译

c - 如何动态对齐结构的变量?

c++ - 在自己的构造中使用对象有什么问题吗?

c++ - 在 C++ 函数中就地处理参数

c++ - 如何返回重载二元运算符的值

matrix - Transform::linear() 在 Eigen 库中返回什么?

c - 未对齐的内存访问是否总是导致总线错误?

c++ - 对齐、总大小和 SSE

c++ - 我如何检查有多少特定的 g++ 版本支持 C++11