Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmLbVr 323 of 390 menu
◀ ▶

Лямбда в переменной в C++

Одну и ту же лямбду сохраняют в переменной и вызывают по имени несколько раз, с разными аргументами. Тип переменной пишут через auto:

int main() { auto mulBy3 = [](int n) { return n * 3; }; std::cout << mulBy3(2) << "\n"; // выведет 6 std::cout << mulBy3(5) << "\n"; // выведет 15 return 0; }

Одна и та же лямбда подходит для разных данных. Проверку длины строки удобно держать в отдельной переменной:

int main() { auto longEnough = [](std::string s) { return s.length() >= 4; }; std::cout << longEnough("go") << "\n"; // выведет 0 std::cout << longEnough("book") << "\n"; // выведет 1 return 0; }

Тип переменной задает само тело лямбды, если параметры указаны явно:

int main() { auto add5 = [](int n) { return n + 5; }; std::cout << add5(10) << "\n"; // выведет 15 return 0; }

Сохраните в переменной negate лямбду, которая меняет знак целого числа. Выведите результаты для 7 и -4.

Сохраните в переменной wrap лямбду со строковым параметром, которая возвращает строку в круглых скобках. Выведите результат для "item" два раза подряд.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить