首页 > 解决方案 > 对什么类型的类进行哪些操作会使 Eigen:Ref 无效?

问题描述

我遇到了 Eigen::Ref 的以下行为:

#include <iostream>
#include <Eigen/Dense>

int main()
{
  Eigen::VectorXf a = Eigen::Vector2f{1,2};
  Eigen::Ref<Eigen::VectorXf> ref{a};

  std::cout << a.transpose() << "\n";     // prints: 1, 2
  std::cout << ref.transpose() << "\n";   // prints: 1, 2

  a = Eigen::Vector3f{3,4,5};

  std::cout << a.transpose() << "\n";     // prints: 3, 4, 5
  std::cout << ref.transpose() << "\n";   // prints: 3, 4
  return 0;
}

据我所知,似乎没有记录本征引用的失效。什么时候发生?

标签: c++eigen3

解决方案


推荐阅读