fork download
  1. #include <iostream>
  2. #include <functional>
  3.  
  4. class DoAction
  5. {
  6. public:
  7. DoAction (std::function<void ()> func) : m_func (func)
  8. {
  9. }
  10. ~DoAction ()
  11. {
  12. m_func ();
  13. }
  14.  
  15. private:
  16. std::function<void ()> m_func;
  17. };
  18.  
  19. int main()
  20. {
  21. int a = 5;
  22. {
  23. std::cout << a << '\n';
  24. DoAction action([&] {a++;});
  25. std::cout << a << '\n';
  26. }
  27. std::cout << a << '\n';
  28. return 0;
  29. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
5
5
6