Sobes.tech
Junior — Middle
120

Qual è il vantaggio dell'utilizzo di funzioni anonime rispetto alle funzioni normali nella programmazione?

Le aziende dove è stato chiesto
ГК Адепт

Risposta dell'AI

sobes.tech AI

Анонимные функции (лямбда-выражения) имеют несколько преимуществ по сравнению с обычными именованными функциями:

  • Локальность: позволяют определить функцию прямо там, где она нужна, улучшая читаемость и поддерживаемость кода.
  • Удобство передачи: легко передаются как аргументы в другие функции, что упрощает работу с колбэками и функциональным стилем.
  • Замыкания: могут захватывать переменные из окружающего контекста, что невозможно с обычными функциями без дополнительных конструкций.

Пример в C++:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};
    int factor = 2;
    std::for_each(nums.begin(), nums.end(), [factor](int &n) { n *= factor; });
    for (int n : nums) std::cout << n << " "; // Выведет: 2 4 6 8 10
}

Здесь анонимная функция умножает каждый элемент на factor, захватывая его из внешнего контекста.