Mega Code Archive

 
Categories / C++ Tutorial / STL Algorithms Modifying Sequence Operations
 

Transform v, putting the result into a new sequence

#include <iostream> #include <vector> #include <algorithm> #include <functional> using namespace std; // A function object that computes a reciprocal. class reciprocal : unary_function<double, double> { public:   result_type sum; result_type operator()(argument_type val) {     if(val == 0.0) return 0.0;     return 1.0 / val; // return reciprocal   } }; int main(){   int i;   vector<double> v;   for(i=1; i < 10; ++i) v.push_back((double)i);   vector<double> v2(10);   transform(v.begin(), v.end(), v2.begin(), reciprocal());   return 0; }