码迷,mamicode.com
首页 > 其他好文 > 详细

Eigen库和STL容器冲突问题

时间:2019-04-16 14:50:50      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:tor   解决   allocator   roi   设置   容器   obj   cat   stl容器   

博客参考:https://blog.csdn.net/huajun998/article/details/54311561

在程序中想使用类似于如下的容器

std::vector<Eigne::vector4f> centroids;

编译不通过,主要是访问centriods的时候,程序直接访问内存错误。原因是Eigen库使用了SSE加速,需要按照128位对齐,这导致了fixed-size vectorizable Eigen object必须16字对齐,例如Eigen库重载了new操作,然而有些情况这写对齐设置被覆盖了,造成了上述断言错误。

解决方式

#include<Eigen/StdVector>
std::vector<Eigen::vector4f,Eigen::aligned_allocator<Eigen::vector4f> >

按照以上方式申请容器即可解决

 

Eigen库和STL容器冲突问题

标签:tor   解决   allocator   roi   设置   容器   obj   cat   stl容器   

原文地址:https://www.cnblogs.com/flyinggod/p/10716567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!