- Solution
Let's take a look at the solution to the exercise.
We'll cover the following...
Solution #
Press + to interact
#include <algorithm>#include <functional>#include <numeric>#include <iostream>#include <vector>int main(){std::cout << std::endl;std::vector<int> myVec(20);std::iota(myVec.begin(), myVec.end(), 0);std::cout << "myVec: ";for (auto i: myVec) std::cout << i << " ";std::cout << std::endl;std::function< bool(int)> myBindPred= std::bind( std::logical_and<bool>(),std::bind( std::greater <int>(), std::placeholders::_1, 9 ), std::bind( std::less <int>(), std::placeholders::_1, 16 ));myVec.erase(std::remove_if(myVec.begin(), myVec.end(), myBindPred), myVec.end());std::cout << "myVec: ";for (auto i: myVec) std::cout << i << " ";std::cout << "\n\n";std::vector<int> myVec2(20);std::iota(myVec2.begin(), myVec2.end(), 0);std::cout << "myVec2: ";for (auto i: myVec2) std::cout << i << " ";std::cout << std::endl;auto myLambdaPred = [](int a){return (a > 9) && (a < 16);};myVec2.erase(std::remove_if(myVec2.begin(), myVec2.end(), myLambdaPred), myVec2.end());std::cout << "myVec2: ";for (auto i: myVec2) std::cout << i << " ";std::cout << std::endl;}