1: //copy_if1a.cpp 3: #include <iostream> 4: #include <algorithm> 5: #include <vector> 6: #include <deque> 7: #include <iterator> 8: using namespace std; 10: int main() 11: { 12: cout << "\nThis program illustrates the use of the STL copy_if() " 13: "algorithm from\n<algorithm> to copy all odd integers " 14: "from a vector of integers to a\ndeque of integers."; 15: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 17: int a[] = {2, 5, 6, 7, 10, 11, 14}; 18: vector<int> v(begin(a), end(a)); 19: deque<int> d(4); 20: auto endOfCopiedRange = 21: copy_if(begin(v), end(v), begin(d), [](int n){return n%2==1;}); 22: copy(begin(d), end(d), ostream_iterator<int>(cout, " ")); 23: cout << "\nThe value at the end of the copied range is " 24: << *endOfCopiedRange << ".\n"; 25: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 26: }