如何清空列表而不破坏其元素
How to empty out a list without destroying its elements?
我有一个点列表,而不是指向点的指针,我需要在不破坏元素的情况下清空这些点。以下是我要做的:我遍历clipped
中的所有点,如果它们满足某个标准,我将它们添加到temp
中。如果他们不这样做,我可能会也可能不会做一些函数来生成另一个点,然后将其添加到temp
中。在处理完clipped
中的所有点之后,我清空clipped
,将temp
中的元素添加到其中,然后再次执行循环,总共4次。我的问题是:如何清空clipped
而不影响temp
中的点如果我只是做clipped->clear()
,这些点甚至被破坏了吗?这个函数会被调用很多次,所以如果我简单地执行clipped = new std::list<point>()
,我会以内存泄漏/堆栈溢出告终吗?
Point是一个包含3个int的结构:x、y和z;
向std::list<point>
添加点将生成副本。所以是的,清除clipped
会破坏它的点,而不会破坏你在temp
中保存的副本。你可以完全按计划进行。
相关文章:
- C++如何通过用户输入删除列表元素
- 访问类lintalizer列表中的结构元素
- 从嵌套在std::映射中的std::列表中删除元素的最佳方式
- 删除列表中的第n个元素
- 从C++中的对列表中访问特定元素
- 访问动态分配列表中的元素
- 如何在 c++ 中根据第二个元素按降序对列表进行排序
- 如何在 c++ stl 中获取列表中被推回的元素的地址,在常量时间内?
- 删除列表 c++ 中的最后 3 个元素
- C++:带有大括号初始化列表的函数调用表达式 - 标准是否规定在单个元素列表的微不足道的情况下忽略大括号?
- 有什么方法可以将元素添加到列表中,如图所示?
- 动态分配列表 - 创建一个函数,用于删除所有包含偶数值的元素
- 如何通过保持第一个插入的位置来对列表中插入的其余元素进行排序?
- 如何使用cpp编写选择排序算法以降序对元素列表进行排序?
- (C++)如何创建一个函数来接收两个排序的链表并返回出现在两个列表中的第三个元素列表
- 刷新元素列表视图 QML
- SQLite:通过100K元素列表选择IN
- 解析字符串以创建元素列表
- 向vector添加可变大小元素列表的语法糖
- 是否可以为通用元素列表创建排序