std::move 个数据来自 Eigen::Matrix 个

std::move data out of Eigen::Matrix

有没有办法对动态大小的 Eigen::Matrix 中的数据进行 std::move 或道德等效?我想把数据移出来用在我自己的 API.

由于你没有说明你真正想做什么,一个更笼统的答案:

,如果不访问 Eigen 的内部结构(例如,如果您继承自 Eigen::Matrix,则无法将数据移出 Eigen::Matrix您可以访问所有内部数据)。我不会详细说明如何做到这一点,因为如果 Eigen 的内部发生变化,这可能会随时中断。

通常有两种 "correct" 方式(或这些方式的组合)与不同的 API 交互:

  1. 使用 Eigen 对象进行数据存储,并使用 .data() 函数获取对内部数据的读写访问权限。
  2. 使用您自己的 API 进行数据存储,并使用 Eigen::Map 从 Eigen 端访问该数据:https://eigen.tuxfamily.org/dox/group__TutorialMapClass.html