Mega Code Archive

 
Categories / C++ / Algorithm
 

Create a reciprocal function object with transform() and customized function

#include <iostream> #include <list> #include <functional> #include <algorithm> using namespace std;     class reciprocal: unary_function<double, double> { public:   result_type operator()(argument_type i)   {     return (result_type) 1.0/i;    } };     int main() {   list<double> l;   int i;       for(i=1; i<10; i++) l.push_back((double)i);       list<double>::iterator p = l.begin();   p = transform(l.begin(), l.end(),l.begin(),reciprocal());   p = l.begin();   while(p != l.end()) {     cout << *p << " ";     p++;   }       return 0; }