C++ 特征非连续子集

C++ Eigen non-contiguous subsets

本文关键字:子集 连续 特征 C++      更新时间:2023-10-16

我对Eigen::VectorXd不连续的子集很好奇。 例如:

Eigen::VectorXd vec = VectorXd::Random(10);
Eigen::VectorXi idx; idx << 2, 5, 6;
Eigen::Block<Eigen::VectorXd> refVec = vec(idx);

但这无法编译。

我发现了一些以前的问题,例如这个问题。 但是,我在 bugzilla 上看到此功能现在应该在 Eigen 中起作用,这似乎是我上面显示的语法。

任何关于如何在没有for循环的情况下访问非应急元素的见解都会有所帮助。

如果您使用default分支并自动执行以下操作,则可以开箱即用:

auto refvec = vec(idx);

如果您确实无法使用 devel 分支,请按照此文档页面进行操作。