我有一个std::vector
装满对象。我想过滤和复制某些谓词返回true
的所有元素到一个新的std::vector
.
我看过find
andsearch
函数,但它们只返回迭代器。
我正在使用ObjC++,所以如果有帮助的话,我可以使用块函数和仿函数。虽然不能使用 C++11 函数。
我有一个std::vector
装满对象。我想过滤和复制某些谓词返回true
的所有元素到一个新的std::vector
.
我看过find
andsearch
函数,但它们只返回迭代器。
我正在使用ObjC++,所以如果有帮助的话,我可以使用块函数和仿函数。虽然不能使用 C++11 函数。
如果您有 C++11 ,请std::copy_if
按照 Eugen 的回答中的建议使用。否则,您可以使用std::remove_copy_if 并对谓词的逻辑进行适当修改。
您可以使用 std::copy_if 方法。见这里。