fork(6) download
  1. #include <iostream>
  2. #include <functional>
  3. using namespace std;
  4.  
  5. class Bang
  6. {
  7. public:
  8. Bang(int i = 0) : m_val(i)
  9. {
  10. m_foo = [this] {std::cout << m_val << std::endl;};
  11. }
  12.  
  13. ~Bang()
  14. {
  15. m_val = -1;
  16. }
  17.  
  18. void Foo()
  19. {
  20. m_foo();
  21. }
  22. private:
  23. int m_val;
  24. std::function<void ()> m_foo;
  25. };
  26.  
  27. Bang GetBang()
  28. {
  29. return Bang(100500);
  30. }
  31.  
  32. int main() {
  33. Bang b;
  34. b = GetBang();
  35. b.Foo();
  36. return 0;
  37. }
Success #stdin #stdout 0s 4356KB
stdin
Standard input is empty
stdout
-1