Eigen在使用中需要特别注意以下几点,要不然错误很难排查.

1.需要显式进行类型转换

Eigen不会帮我们进行自动类型转换,例如不会自动将Eigen::Matrix3f 转化为Eigen::Matrix3d,需要自己手动显式转换,参考下图:
Eigen使用注意事项_类

2.Eigen作为STL容器时,需要注意对齐字节

具体做法是,在创建对象的时候,使用Eigen::aligned_allocator
例如 : std::vector<Eigen::Matrix3d,Eigen::aligned_allocator<Eigen::Matrix4d>>
Eigen使用注意事项_bug_02

Eigen使用注意事项_bug_03
Eigen使用注意事项_类_04

3 .在类中使用Eigen对象是时,需要对齐字节

具体的做法是,在public里面声明下面一个宏定义:

EIGEN_MAKE_ALIGNED_OPERATOR_NEW

Eigen使用注意事项_bug_05

引用声明:参考优酷博主视频:https://v.youku.com/v_show/id_XNDU2MjIyNTU5Mg==.html?spm=a2h0k.11417342.soresults.dtitle