【发布时间】:2014-10-23 18:44:16
【问题描述】:
根据 Eigen (C++) 库的文档,默认矩阵是列优先的。如此有效,一个小的 3x3 矩阵将类似于
1 4 7
2 5 8
3 6 9
然后它得到逗号初始化器,前端似乎是行优先的,但后端仍然是列优先的
Example: (from eigen doc)
Matrix3f m;
m << 1, 2, 3,
4, 5, 6,
7, 8, 9;
std::cout << m;
output:
1 2 3
4 5 6
7 8 9
是的,我知道 RowMajor 是创建行主矩阵所需的全部内容。我想知道,既然他们有 逗号初始化程序,为什么他们将 column-major 设为默认值?
【问题讨论】:
-
我问过自己一个类似的问题。即:当这不是您的默认值时,为什么要使逗号初始化器行为主?