【发布时间】:2021-12-23 11:17:09
【问题描述】:
对于固定大小的特征向量(例如Eigen::Vector3d、Eigen::Vector4f),可以选择使用如下构造函数初始化向量:
Eigen::Vector3d a(0.0, 1.0, 2.0);
但是,Eigen 还提供了一种方法,可以在这种情况下使用通用 Eigen 矩阵的逗号初始化:
Eigen::Vector3d b;
b << 0.0, 1.0, 2.0;
出于速度或其他原因,这两种方法中的哪一种更可取?或者他们是平等的?
【问题讨论】:
-
或其他原因 我的意思是其中一个是单行代码,另一个是两行代码。 IMO 仅出于这个原因,我会使用前者。如果您选择这样做,后者可能会让您更轻松地切换类型。虽然这一切都带着一点盐,我从来没有用过
Eigen,但std::vector<int> a{0, 1, 2}比两行变体更好
标签: c++ vector initialization eigen