gpt4 book ai didi

c++ - 如何将 std::vector 中的 vector 复制到另一个 std::vector 中的另一个 vector

转载 作者:行者123 更新时间:2023-11-30 04:47:04 26 4
gpt4 key购买 nike

如何在 std::vector<Eigen::vectorXd> 中复制 vector (Eigen::vectorXd)到另一个 std::vector<Eigen::vectorXd> 中的另一个 vector (Eigen::vectorXd)

std::vector< Eigen::VectorXd > samples;
std::vector< Eigen::VectorXd > boea_samples;

我想做

samples[i] = boea_samples[i];

但是在编译的时候没有运行,没有报错。它只是在运行时停止 samples[i] = boea_samples[i];
谢谢!

最佳答案

Eigen 仅支持在 STL 容器中使用的固定大小 vector 。即便如此,它也不是直截了当的。 Eigen 库为其对象实现了自己的分配器。这导致您在 STL 容器中使用 Eigen 对象时需要采取一些额外的步骤。

这是 Eigen 文档中的示例:

#include<Eigen/StdVector>
/* ... */
std::vector<Eigen::Vector4f, Eigen::aligned_allocator<Eigen::Vector4f> >

您看到的是,除了数据类型之外,分配器也被指定为模板参数。

您可以在 Eigen 文档的这个有点隐藏的章节中阅读更多内容: https://eigen.tuxfamily.org/dox/group__TopicStlContainers.html

关于c++ - 如何将 std::vector<Eigen::vectorXd> 中的 vector 复制到另一个 std::vector<Eigen::vectorXd> 中的另一个 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56383214/

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