C++ STL容器中的特征对象

C++ STL容器中的特征对象,c++,stl,eigen,C++,Stl,Eigen,首先,我一直在反复提到与Eigen和STL容器相关的问题。在我的例子中,我正在做一个物理模拟,需要随着时间的推移生成新的点。我必须决定使用STL向量,或者在Eigen框架上实现我自己的std::vector方法 在确定STL容器问题只适用于,而其中Vector3d不适用之后,我决定将我的观点实现为std::vector。尽管如此,我在代码的相关区域中遇到了一些错误,这让我觉得我并没有正确地调整代码 Vector3d真的没有这些顾虑吗?还是我需要担心Egeng页面上讨论的所有对齐问题?您能展示代码

首先,我一直在反复提到与Eigen和STL容器相关的问题。在我的例子中,我正在做一个物理模拟,需要随着时间的推移生成新的点。我必须决定使用STL向量,或者在Eigen框架上实现我自己的std::vector方法

在确定STL容器问题只适用于,而其中
Vector3d
不适用之后,我决定将我的观点实现为
std::vector
。尽管如此,我在代码的相关区域中遇到了一些错误,这让我觉得我并没有正确地调整代码


Vector3d真的没有这些顾虑吗?还是我需要担心Egeng页面上讨论的所有对齐问题?

您能展示代码中有问题的部分吗?另外,根据您的链接,在STL容器中使用固定大小的特征对象没有问题,只要您指定包含的特征分配器。我是否了解分配器的作用或为什么需要它?不。只需相信文档。一种快速测试问题是否与矢量化相关的方法是在调试模式下编译。如果问题仍然存在,则不是由于矢量化。最重要的是:
Eigen::Vector3d
是一个固定大小的Eigen对象。使用
std::vector
尝试Eigen的对齐分配器。另外,确保在任何包含固定大小的EIGEN成员的类的公共部分中都有
EIGEN\u MAKE\u ALIGNED\u OPERATOR\u NEW
。谢谢@John,我只能在我的项目中重现该问题,当我尝试生成MRE时,该问题不会弹出。意思是我真的不明白。我仍在努力制作失败的小规模示例。@JanCa我已经在调试模式下编译,根据我的其他测试,我同意它实际上似乎与矢量化无关。不管怎样,我正在根据Eigen的建议进行并包括“最佳实践”,看看它是否会被清除。