向量值被循环中的最后一个值覆盖

用户名

我有一个向量来存储点云的指针:

std::vector<pcl::PointCloud<PointType>::Ptr> List;

在一个循环中,我尝试在其中推入push_back点云指针。

pcl::PointCloud<pcl::PointXYZ>::Ptr  cloud(new pcl::PointCloud<pcl::PointXYZ>);

while(condition)
{...    
    List.push_back(cloud);
cloud->clear();
}

它添加了点云,但是在每次迭代时,先前存储在向量中的所有值都被新添加的值替换。

因此,可以说我添加的最后一个点云的大小为400,并且在迭代中添加了5个点云。

循环后,如果我检查存储的5个云的大小,结果将为400400400400400

有谁知道如何解决它?

谢谢

塞巴斯蒂安·雷德尔(Sebastian Redl)

看起来非常像您只创建一个点云,然后在循环的每次迭代中,修改点云,向该向量添加一个(另一个)指针,然后重复。

换句话说,所有矢量条目都指向同一个云,因此,所有修改当然都可以在所有条目中看到。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

对象值被循环中的最后一个值覆盖

完成FOR之后,最后一个FOR循环中的值

for循环中的lambda仅取最后一个值

循环中异步函数的最后一个值

在 forEach 循环中,仅显示最后一个值

完全覆盖Bash循环中终端上显示的最后一个输出

循环asynctask android仅在循环中执行最后一个值

一个For循环来替换向量值

从循环中取出一个值?

仅显示while循环中来自JavaScript的最后一个值

jQuery 工具提示在循环中设置动态内容返回最后一个值

会话Setattribute仅从循环中获取最后一个值

Spread运算符仅在for循环中添加最后一个值

从循环中的数组值中删除最后一个逗号

Pandas 数据框只保留 for 循环中的最后一个值

在for循环中构造时仅返回数组的最后一个值

如何在for循环中只显示最后一个值?C#

HttpSession 属性:getAttribute() 仅传递/获取循环中的最后一个值

从向量值数组中检索一个值

Mysql的storded程序插入queary一个循环中仅将最后一个值

在一个循环中,所有数组元素都获得最后一个的值

在循环中删除向量的一个元素

在无限循环中运行的最后一个输出 - Python

在 Ada 的 while 循环中打印最后一个 rad

如何避免python循环中的最后一个逗号

从 FOR 循环中获取最后一个数字

如何检测循环中的最后一个ajax调用?

使用数组删除for循环中的最后一个逗号

最后一个元素未在循环中删除