Какие операции над каким типом классов делают недействительным Eigen: Ref? - PullRequest
0 голосов
/ 04 августа 2020

Я обнаружил следующее поведение с 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;
}

Насколько я могу судить, аннулирование ссылок на Eigen не задокументировано. Когда это происходит?

...