Карточка Middle Лямбды и функциональные объекты обновлено

Немедленно вызываемая лямбда

Вопрос

Как инициализировать const-переменную сложной логикой с ветвлениями?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Немедленно вызываемой лямбдой: const auto cfg = [&] { if (...) return a; return b; }();. Переменная остаётся const, логика инкапсулирована, временные переменные не утекают в область видимости.

Ответ

Немедленно вызываемой лямбдой: const auto cfg = [&] { if (...) return a; return b; }();. Переменная остаётся const, логика инкапсулирована, временные переменные не утекают в область видимости.

Разбор

Немедленно вызываемой лямбдой: const auto cfg = [&] { if (...) return a; return b; }();. Переменная остаётся const, логика инкапсулирована, временные переменные не утекают в область видимости.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.