#include <iostream> #include <list> #include <iterator> #include <algorithm> using namespace std; template<typename type> class Add{ private: type number; public: Add(type initv) : number(initv){} const type& operator()(type& elem) const { elem += number; return elem; } };
int main() { list<int> coll; for(int i = 0; i < 20; ++i) { coll.push_front(i); coll.push_back(i); } transform( coll.begin(), coll.end(), coll.begin(), Add<int>(10) ); copy( coll.begin(), coll.end(), ostream_iterator<int>(cout, " ")); cout << endl; for_each(coll.begin(), coll.end(), Add<int>(2)); copy( coll.begin(), coll.end(), ostream_iterator<int>(cout, " ")); cout << endl; cin.get(); return 0; } 
|