Перейти до вмісту

Вкладена функція

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 16:58, 4 червня 2022, створена InternetArchiveBot (обговорення | внесок) (Виправлено джерел: 1; позначено як недійсні: 0.) #IABot (v2.0.8.8)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)

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

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

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

Джерела

[ред. | ред. код]