Eigen::Matrix |为什么Eigen期望int而不是size_t
Eigen::Matrix | Why does eigen expect an int and not size_t?
根据Eigen文档,第二个和第三个模板参数,对应于行和列的数量,预计为int
。
我想知道为什么这些论点不是size_t
?有int
的唯一原因是,当本征允许具有负数的行或列时?
唯一有意义的原因是Eigen::Dynamic
。有人能确认这就是允许行/列为负值的原因吗?
Eigen::Dynamic根本不是原因,因为它可以等于numeric_limits<size_t>::max()
或相同的size_t(-1)
。
我相信这是因为Eigen的目标受众比其他任何东西都更喜欢使用int。然后,如果您对此选择不满意,可以使用EIGEN_DEFAULT_DENSE_INDEX_TYPE
预处理器指令将其设置为您认为合适的值,并承担后果…:)不,说真的,在实际使用之前,我至少会运行完整的特征测试集。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- Eigen如何在容器循环中干净地附加矩阵
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 大于65535的C++数组[size]引发不一致的溢出
- 为什么(-1)%vector::size()总是返回0
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 使用Pybind11向Python公开Eigen::张量
- 如何在没有数据拷贝的情况下从指针创建一个Eigen VectorXd对象
- Eigen:调用lpNorm()的正确方法
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 如何调整 std::vector of Eigen::MatrixXd 的大小
- 如何将 Eigen::Ref 与 pybind11 一起使用?
- Eigen c++ 三角形来自
- 为什么这个 std::queue/指向结构的指针列表直到 List.Size() == 0 才释放内存?
- 在函数中使用 const int size 参数创建数组会在 Visual Studio 中抛出错误 C++:表达式的计
- vector.size() 在比较中意外工作
- vector.back() 和 vector[vector.size() - 1] 之间的区别?
- 使用 operator() 扩展 Eigen::EigenBase
- 返回 str vs. str.substr(0,str.size()) 在 leetcode 中给了我不同的输出
- 为什么 GCC 不能假设 std::vector::size 在这个循环中不会改变?