Phi*_*ter 10
用途std::remove_copy_if
:
#include <algorithm>
#include <vector>
#include <iostream>
#include <functional>
#include <iterator>
int main() {
std::vector<int> v;
v.push_back(3);
v.push_back(2);
v.push_back(6);
v.push_back(10);
v.push_back(5);
v.push_back(2);
std::vector<int> v2;
std::remove_copy_if(v.begin(), v.end(), back_inserter(v2),
std::bind2nd(std::greater<int>(),5));
std::copy (v2.begin(), v2.end(), std::ostream_iterator<int>(std::cout));
std::cout << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
remove_copy_if
将序列复制到每个未通过谓词的项的输出迭代器.在这种情况下,谓词是"x> 5".copy_if
对于通过谓词测试的每个项目,似乎没有等价物,但是你总是可以用谓词来否定谓词std::not1
.