【发布时间】:2016-04-10 00:25:45
【问题描述】:
我有一个对象向量,我想删除一些对象,而不重新排序。
我在这里找到了一些解决方案,但这些解决方案是基于将矢量元素与值进行比较。 [How to erase a value efficiently from a sorted vector?
但是,我需要根据条件语句进行擦除,所以我认为我不能按原样使用这些函数。
在这个例子中,我有一个 3D 向量的向量 我需要删除所有 Z 值小于 0 的元素;
我现在拥有的是从原始向量创建的另一个向量:
for (int i = 0; i < original_vectors.size(); i++)
if (original_vectors[i].z > 0)
new_vectors.push_back(original_vectors[i]);
我可以做些什么来简单地删除不具有 Z > 0 的元素?
【问题讨论】:
-
你说你想删除所有 Z 值小于 0 的元素,但是你的代码示例删除了
Z <= 0