Eigen :: Matrix |为什么eigen期望int而不是size_t?

时间:2015-11-30 08:02:01

标签: c++ size eigen

根据Eigen documentation,第二个和第三个模板参数(对应于行数和列数)预计为int

我想知道为什么这些论点不是size_t?有int的唯一原因是,当特征允许有负数行或列时?

这可能是有道理的唯一原因是因为Eigen::Dynamic。任何人都可以确认这是允许行/列的负值的原因吗?

1 个答案:

答案 0 :(得分:0)

Eigen :: Dynamic根本不是一个理由,因为它可以与numeric_limits<size_t>::max()size_t(-1)相同。

我认为这是因为Eigen的目标受众更习惯使用int而不是其他任何东西。 然后,如果您对此选择不满意,可以使用EIGEN_DEFAULT_DENSE_INDEX_TYPE预处理程序指令设置为您认为合适的任何内容并面对后果...... :) 不,说真的,我至少会在实际使用之前运行完整的Eigen测试集。