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

Eigen::Matrix | Why does eigen expect an int and not size_t?

本文关键字:Eigen size int Matrix 为什么 期望      更新时间:2023-10-16

根据Eigen文档,第二个和第三个模板参数,对应于行和列的数量,预计为int

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

唯一有意义的原因是Eigen::Dynamic。有人能确认这就是允许行/列为负值的原因吗?

Eigen::Dynamic根本不是原因,因为它可以等于numeric_limits<size_t>::max()或相同的size_t(-1)

我相信这是因为Eigen的目标受众比其他任何东西都更喜欢使用int。然后,如果您对此选择不满意,可以使用EIGEN_DEFAULT_DENSE_INDEX_TYPE预处理器指令将其设置为您认为合适的值,并承担后果…:)不,说真的,在实际使用之前,我至少会运行完整的特征测试集。