std::move 个数据来自 Eigen::Matrix 个
std::move data out of Eigen::Matrix
有没有办法对动态大小的 Eigen::Matrix 中的数据进行 std::move 或道德等效?我想把数据移出来用在我自己的 API.
由于你没有说明你真正想做什么,一个更笼统的答案:
否,如果不访问 Eigen 的内部结构(例如,如果您继承自 Eigen::Matrix
,则无法将数据移出 Eigen::Matrix
您可以访问所有内部数据)。我不会详细说明如何做到这一点,因为如果 Eigen 的内部发生变化,这可能会随时中断。
通常有两种 "correct" 方式(或这些方式的组合)与不同的 API 交互:
- 使用 Eigen 对象进行数据存储,并使用
.data()
函数获取对内部数据的读写访问权限。
- 使用您自己的 API 进行数据存储,并使用
Eigen::Map
从 Eigen 端访问该数据:https://eigen.tuxfamily.org/dox/group__TutorialMapClass.html
有没有办法对动态大小的 Eigen::Matrix 中的数据进行 std::move 或道德等效?我想把数据移出来用在我自己的 API.
由于你没有说明你真正想做什么,一个更笼统的答案:
否,如果不访问 Eigen 的内部结构(例如,如果您继承自 Eigen::Matrix
,则无法将数据移出 Eigen::Matrix
您可以访问所有内部数据)。我不会详细说明如何做到这一点,因为如果 Eigen 的内部发生变化,这可能会随时中断。
通常有两种 "correct" 方式(或这些方式的组合)与不同的 API 交互:
- 使用 Eigen 对象进行数据存储,并使用
.data()
函数获取对内部数据的读写访问权限。 - 使用您自己的 API 进行数据存储,并使用
Eigen::Map
从 Eigen 端访问该数据:https://eigen.tuxfamily.org/dox/group__TutorialMapClass.html