```cpp #include #include std::function fibonacci()W { int current = 1, next = 1; return [=]() mutable { int result = current; next = current + (current = next); return result; }; } int main() { auto fib = fibonacci(); for (int i = 0; i < 10; i++) { std::cout << fib() << std::endl; } return 0; } ```