fork download
  1. #include <functional>
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. int main()
  6. {
  7. std::vector<std::function<char()>> izvrat = { []()->char {return 0x48; },
  8. []()->char {return 0x65; },
  9. []()->char {return 0x6c; },
  10. []()->char {return 0x6c; },
  11. []()->char {return 0x6f; },
  12. []()->char {return 0x20; },
  13. []()->char {return 0x77; },
  14. []()->char {return 0x6f; },
  15. []()->char {return 0x72; },
  16. []()->char {return 0x6c; },
  17. []()->char {return 0x64; },
  18. []()->char {return 0x21; } };
  19.  
  20. std::function<void(std::vector<std::function<char()>>::const_iterator, std::vector<std::function<char()>>::const_iterator)> f =
  21. [&](std::vector<std::function<char()>>::const_iterator vecizvrat, std::vector<std::function<char()>>::const_iterator end)
  22. {
  23. if (vecizvrat != end)
  24. {
  25. [](char c, auto && ss) { ss << c; }((*vecizvrat)(), std::cout);
  26. f(vecizvrat + 1, end);
  27. }
  28. };
  29.  
  30. f(izvrat.cbegin(), izvrat.cend());
  31.  
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Hello world!