Напишите версию back_inserter() (параграф 19.2.4), работающую с basic_string.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include <iostream> using std::cout; using std::endl; #include <algorithm> using std::copy; #include <iterator> using std::back_inserter; using std::back_insert_iterator; #include <vector> using std::vector; #include <string> using std::string; #include <cstdlib> using std::exit; template<typename Cont> back_insert_iterator<Cont> back_inserter1(Cont& v) { back_insert_iterator<Cont> it(v); return it; } int main() { string s("hellow world"); string rez; // cout <<*back_inserter1(rez)<<endl; copy(s.begin(),s.end(),back_inserter1(rez)); cout <<rez<<endl; return 0; } |
[youtube]http://www.youtube.com/watch?v=09Fd7dsZ1Ac[/youtube]