Junior — Middle
104
¿Qué ventaja tiene el uso de funciones anónimas en comparación con las funciones normales en programación?
Empresas donde se preguntó
ГК Адепт
Respuesta de la IA
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, захватывая его из внешнего контекста.