根据Eigen documentation,第二个和第三个模板参数(对应于行数和列数)预计为int
。
我想知道为什么这些论点不是size_t
?有int
的唯一原因是,当特征允许有负数行或列时?
这可能是有道理的唯一原因是因为Eigen::Dynamic
。任何人都可以确认这是允许行/列的负值的原因吗?
答案 0 :(得分:0)
Eigen :: Dynamic根本不是一个理由,因为它可以与numeric_limits<size_t>::max()
或size_t(-1)
相同。
我认为这是因为Eigen的目标受众更习惯使用int而不是其他任何东西。
然后,如果您对此选择不满意,可以使用EIGEN_DEFAULT_DENSE_INDEX_TYPE
预处理程序指令设置为您认为合适的任何内容并面对后果...... :)
不,说真的,我至少会在实际使用之前运行完整的Eigen测试集。