如何使用特定的过滤器从其他向量生成std :: vector?

时间:2012-06-14 07:07:23

标签: c++ stl vector objective-c++

我有一个std::vector填充了对象。我想过滤并将一些谓词返回true的所有元素复制到新的std::vector

我查看了findsearch函数,但它们只返回迭代器。

我正在使用 ObjC ++ ,所以我可以使用块函数和仿函数,如果有帮助的话。但是不能使用C ++ 11函数。

2 个答案:

答案 0 :(得分:15)

如果您有C ++ 11,请按照Eugen的回答中的建议使用std::copy_if。否则,您可以使用std::remove_copy_if对谓词的逻辑进行适当的修改。

答案 1 :(得分:12)

您可以使用std :: copy_if方法。请参阅here