#include #include #include #include #include char to_lower( char c) { return (char)::tolower( c); } class Sum { int _sum; public: Sum( int sm=0) : _sum(sm) {} int operator()( int lhs) { _sum += lhs; return _sum; } }; using namespace std; int main() { string foo( "AbcdEfgHIJklmn"); string bar( foo.size(), ' '); transform( foo.begin(), foo.end(), bar.begin(), to_lower); cout << foo << endl; cout << bar << endl; vector v( 10, 1), integral_v( 10), double_integral_v( 10); transform( v.begin(), v.end(), integral_v.begin(), Sum( 0)); transform( integral_v.begin(), integral_v.end(), double_integral_v.begin(), Sum( 0)); copy( integral_v.begin(), integral_v.end(), ostream_iterator( cout, " ")); cout << endl << endl; copy( double_integral_v.begin(), double_integral_v.end(), ostream_iterator( cout, " ")); return 0; }