Відкрити головне меню

Вкладена функція (вкладена процедура чи вкладена підпрограма, англ. nested function)  — у комп'ютерному програмуванні функція, яка визначена всередині іншої функції, функції охоплювальної (англ. enclosing function). У зв'язку з правилами дії області визначення процедур та змінних, вкладена функція, таким чином, має доступ до локальних змінних охоплювальної функції і вкладена функція не може бути доступна за межами охоплювальної функції. Рівень вкладених функцій теоретично можливий будь-якої глибини, однак в практичних програмах використовується, як правило, тільки кілька рівнів.

Вкладені функції використовуються в багатьох парадигмах програмування. В багатьох сучасних динамічних і функціональних мовах вкладені функції надзвичайно корисні та вживані. В структурному програмуванні також часто застосовується в «поважних» мовах, таких як Алгол, Симула, Паскаль та Фортран.

В C++ вкладені функції можна реалізувати за допомогою лямбда-виразів.

ДжерелаРедагувати