//: C06:CopyInts4.cpp // Uses a standard function object and adaptor. #include <algorithm> #include <cstddef> #include <functional> #include <iostream> #include <iterator> using namespace std; int main() { int a[] = { 10, 20, 30 }; const size_t SIZE = sizeof a / sizeof a[0]; remove_copy_if(a, a + SIZE, ostream_iterator<int>(cout, "\n"), bind2nd(greater<int>(), 15)); } ///:~
Listado 7.12. C06/CopyInts4.cpp
//: C06:CountNotEqual.cpp // Count elements not equal to 20. #include <algorithm> #include <cstddef> #include <functional> #include <iostream> using namespace std; int main() { int a[] = { 10, 20, 30 }; const size_t SIZE = sizeof a / sizeof a[0]; cout << count_if(a, a + SIZE, not1(bind1st(equal_to<int>(), 20)));// 2 } ///:~
Listado 7.13. C06/CountNotEqual.cpp