对于固定大小的特征向量(例如Eigen::Vector3d,Eigen::Vector4f),可以使用如下构造函数初始化向量:
Eigen::Vector3d a(0.0, 1.0, 2.0);但是,Eigen还提供了一种使用通用特征矩阵的逗号初始化的方法,可以在这种情况下使用:
Eigen::Vector3d b;
b << 0.0, 1.0, 2.0;出于速度或其他原因,这两种方法中的哪一种更可取?或者他们是平等的?
发布于 2021-11-10 21:53:30
第一个版本的一个优点是,如果你传递了错误数量的参数,那么它将在编译时失败,例如,因为你错误地将Vector2d键入为Vector3d。
在性能方面,编译器能够对这两者进行相同的优化。跟GCC核实过了。
https://stackoverflow.com/questions/69920357
复制相似问题