c++ - rows() 方法有什么作用?

标签 c++ eigen eigen3

在 eigen 文档(总体来说相当不错)中,我看到对 MatrixBaserows() 方法的引用。我目前正在尝试找到一种方法来获取矩阵中的行数,而不知道矩阵的方向(行/列主),因此只需调用 rows() 会非常方便.

但我在任何地方都找不到这个记录。这是什么方法呢?它有什么作用?它是否只返回动态矩阵的 Eigen::Dynamic,还是知道行数?

查看 the reference page for MatrixBase ,我看到多次提到 MatrixBase::rows() 但没有链接...有什么想法吗?

最佳答案

rows() 方法确实返回行数。它在类EigenBase 中定义,MatrixBase 是该类的子类。其文档位于 http://eigen.tuxfamily.org/dox/structEigen_1_1EigenBase.html#a5552abd83dbd03c85cea6d61fd8875a5 。找到它的一种方法是在 Eigen 文档右上角的搜索字段中输入“rows”,然后在出现的弹出窗口中单击“rows”;打开库中定义的 rows() 方法列表,包括 EigenBase::rows()

文档没有明确说明这一点,但 rows() 方法确实返回在运行时确定的实际行数。常量 RowsAtCompileTime 返回动态大小矩阵的 Dynamic 和静态大小矩阵的行数。

文档中提到的 MatrixBase::rows() 是过去的残余,需要消除。感谢您对文档的赞扬,但我们知道它可以改进。

关于c++ - rows() 方法有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24485172/

相关文章:

Eigen3 将矩阵展平为向量

c++ - eigen的cholesky是否受益于mp?

c++ - 使用 placement new 了解 C++ 中的内存访问

c++ - 如何默认包含某些头文件,这样我就不必在每个程序中都输入它们

c++ - 特征:稀疏矩阵 pruned() 不会删除低于阈值的条目

c++ - vector 幅度的特征数学库中的成员函数

performance - 矩阵乘法中的超线程和涡轮增压 - 使用超线程的性能更差

c++ - OpenCV C++ VS2010 : FindContours throws exception

c++ - 是否可以重载增量运算符 (++) 使其增量超过 1?

c++ - 基于索引 vector 的特征矩阵切片