我有一个对象向量,我想删除一些对象,而无需重新排序。如何在C++中根据特定条件从向量中删除元素11
我在这里找到了一些解决方案,但是这些都是基于比较矢量元素的值。 [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元素' – Praetorian