2

如果x是浮点数的非特征向量,我可以将其映射到eigen::MatrixXf

MatrixXf x_cen=Map<MatrixXf>(*x,*n,*p);

但是,由于它们共享内存,x_cen因此也会报告对的修改。x我想要的是避免这种情况。我想深拷贝x到 aneigen::MatrixXf x_cen以确保对 所做的更改x_cen不会报告给x. 怎么可能呢?

4

1 回答 1

4

你的代码:

MatrixXf x_cen=Map<MatrixXf>(*x,*n,*p);

已经在做深拷贝了!所以你很好。Eigen 中没有浅拷贝。

只是为了完整起见,可以命名一个Map<>对象以像这样使用它MatrixXf

Map<MatrixXf> x_cen(*x,*n,*p);

在这种情况下,并且只有在这种情况下,对 的修改x_cen才会报告给x

于 2013-01-26T10:04:41.687 回答