// D 1 auto return_local() 2 { 3 int x = 10; 4 int delegate () f = { return x; }; 5 x = 15; 6 return f; 7 } 8 9 void main() 10 { 11 import std.stdio; 12 writeln(return_local()()); 13 } // Output: 15 // C++ 1 #include 2 #include 3 4 std::function return_local() 5 { 6 int x = 10; 7 auto f = [=](){ return x; }; 8 x = 15; 9 return f; 10 } 11 12 int main() 13 { 14 std::cout << return_local()() << std::endl; 15 return 0; 16 } // Output : 10