Eigen在使用中需要特别注意以下几点,要不然错误很难排查.
1.需要显式进行类型转换
Eigen不会帮我们进行自动类型转换,例如不会自动将Eigen::Matrix3f 转化为Eigen::Matrix3d,需要自己手动显式转换,参考下图:
2.Eigen作为STL容器时,需要注意对齐字节
具体做法是,在创建对象的时候,使用Eigen::aligned_allocator
例如 : std::vector<Eigen::Matrix3d,Eigen::aligned_allocator<Eigen::Matrix4d>>
3 .在类中使用Eigen对象是时,需要对齐字节
具体的做法是,在public里面声明下面一个宏定义:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
引用声明:参考优酷博主视频:https://v.youku.com/v_show/id_XNDU2MjIyNTU5Mg==.html?spm=a2h0k.11417342.soresults.dtitle