当不需要编写模板函数时,Eigen引入了Ref <>类来编写具有Eigen对象作为参数的函数,而不使用不必要的临时对象.人们可以在这里读到这一点.
当进一步搜索互联网时,我使用Ref <>类找到了几个不同的参数声明.在Eigen文档中,它们const Eigen::Ref<const Eigen::MatrixXf>&用于第一个示例中的只读参数.在第二个例子Eigen::Ref<Eigen::MatrixXd>中引入了读写参数,这里BUT const Eigen::Ref<const Eigen::MatrixXd>用于只读参数(无引用).所以我的问题是:
以下声明和我何时使用它有什么区别?`
const Eigen::Ref<const Eigen::MatrixXd>&const Eigen::Ref<const Eigen::MatrixXd>const Eigen::Ref<Eigen::MatrixXd>&const Eigen::Ref<Eigen::MatrixXd>Eigen::Ref<const Eigen::MatrixXd>&Eigen::Ref<const Eigen::MatrixXd>Eigen::Ref<Eigen::MatrixXd>&Eigen::Ref<Eigen::MatrixXd>为了完整性,我列出了const使用和参考的每种可能组合.