Единственное решение, которое я могу придумать, это сохранить m
и b
в одной матрице с самого начала:
Eigen::MatrixXd mb(2,2+1);
Eigen::Ref<Eigen::MatrixXd> m = mb.leftCols(2);
Eigen::Ref<Eigen::VectorXd> b = mb.col(2);
После того, как эти строки m
и b
прочитаны/ Записываемые ссылки на блоки большей mb
матрицы, и они остаются действительными, пока mb
не изменен (или не уничтожен).Тем не менее, вы не можете легко изменить размер m
(вы могли бы с новым местом размещения, но я сомневаюсь, что вам это действительно нужно).
Если у вас уже есть данные, выделенные для m
и b
ичтобы иметь фактические данные рядом друг с другом, вам необходимо что-то скопировать (если только данные не были рядом друг с другом).