gpt4 book ai didi

c++ - 非 Eigen float * 到 Eigen::MatrixXf 的深拷贝

转载 作者:搜寻专家 更新时间:2023-10-31 01:11:40 26 4
gpt4 key购买 nike

如果x是 float 的非特征向量,我可以将它映射到 eigen::MatrixXf通过:

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

然后,对 x_cen 的修改将被报告给x也因为他们正在共享内存。我想要的是避免这种情况。我想深拷贝xeigen::MatrixXf x_cen为了确保对 x_cen 所做的更改未报告给 x .怎么可能完成了吗?

最佳答案

您的代码:

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

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

为了完整起见,可以命名为 Map<>反对像 MatrixXf 一样使用它:

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

在这种情况下,并且仅在这种情况下,对 x_cen 的修改将被报告给x .

关于c++ - 非 Eigen float * 到 Eigen::MatrixXf 的深拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14532679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com