Junior — Middle
108
Wat is het voordeel van het gebruik van anonieme functies in vergelijking met gewone functies in programmeren?
Bedrijven waar gevraagd werd
ГК Адепт
Antwoord van 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, захватывая его из внешнего контекста.