- #include <iostream> 
- #include <functional> 
-   
- class A 
- { 
-     std::function<void()> m_Lambda; 
-   
- public: 
-     A(std::function<void()> lambda): m_Lambda(lambda) {} 
-   
-     void ExecuteLambda() 
-     { 
-         m_Lambda(); 
-     } 
- }; 
-   
- int main() 
- { 
-     int i1 = 1; 
-     int i2 = 2; 
-   
-     const auto lambda = [&]() 
-     { 
-         std::cout << "i1 == " << i1 << std::endl; 
-         std::cout << "i2 == " << i2 << std::endl; 
-     }; 
-   
-     A a(lambda); 
-     a.ExecuteLambda(); 
-   
- 	return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCmNsYXNzIEEKewogICAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IG1fTGFtYmRhOwoKcHVibGljOgogICAgQShzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gbGFtYmRhKTogbV9MYW1iZGEobGFtYmRhKSB7fQoKICAgIHZvaWQgRXhlY3V0ZUxhbWJkYSgpCiAgICB7CiAgICAgICAgbV9MYW1iZGEoKTsKICAgIH0KfTsKCmludCBtYWluKCkKewogICAgaW50IGkxID0gMTsKICAgIGludCBpMiA9IDI7CiAgICAKICAgIGNvbnN0IGF1dG8gbGFtYmRhID0gWyZdKCkKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgImkxID09ICIgPDwgaTEgPDwgc3RkOjplbmRsOwogICAgICAgIHN0ZDo6Y291dCA8PCAiaTIgPT0gIiA8PCBpMiA8PCBzdGQ6OmVuZGw7CiAgICB9OwoKICAgIEEgYShsYW1iZGEpOwogICAgYS5FeGVjdXRlTGFtYmRhKCk7CgoJcmV0dXJuIDA7Cn0=