gpt4 book ai didi

c++ - 在包含 Eigen 类型的类上使用 ` Eigen::aligned_allocator` on `std::vector`

转载 作者:太空宇宙 更新时间:2023-11-04 13:31:23 25 4
gpt4 key购买 nike

根据 Eigen's documentation在创建具有“固定大小可向量化特征类型”std::vector时,Eigen::aligned_allocator必须 strong> 被使用,例如:

std::vector<Eigen::Vector4f,Eigen::aligned_allocator<Eigen::Vector4f> > myVector;

我有一个包含固定大小 Eigen 成员的类,以及该类的一个std::vector,例如:

class myClass{
public: Eigen::Vector2d v;
}
//...
std::vector<myClass> myVector;
std::vector<myClass*> myPtrVector;

问题:我是否需要对包含 Eigen 成员的类的 vector 使用 Eigen::aligned_allocator(与直接使用 Eigen 类型的 vector 相同)?

(如果重要的话,我使用的是 Visual Studio 2013)

最佳答案

我相信答案是肯定的。

page you referenced 上的第一句话说“......或具有此类成员的类,需要采取以下两个步骤

  • 必须使用 16 字节对齐的分配器。 Eigen 确实提供了一个随时可用的:aligned_allocator。
  • 如果你想使用 std::vector 容器,你需要 #include 。"

关于c++ - 在包含 Eigen 类型的类上使用 ` Eigen::aligned_allocator` on `std::vector`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325769/

25 4 0