JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Синтаксис лямбди в C++: [](…) { … }

    C++ SELF
    22 рівень, 0 лекція
    Розбираємо, як читати й писати лямбда-вирази в C++: з чого складається форма [] (…) -> T { … }, як задавати параметри й тип значення, яке повертається, як реалізувати «створити й одразу викликати» ( [] { … } ()), і які помилки трапляються найчастіше (пропущена ;, очікування автоматичного запуску, цілочисельне ділення, різні типи в return).
    Відкрита
  • Захоплення змінних: [&], [=], [x], [&x] і типові помилки

    C++ SELF
    22 рівень, 1 лекція
    Розглядаємо, як працює список захоплення в лямбдах C++: захоплення за значенням ( [x], [=]) і за посиланням ( [&x], [&]), змішані варіанти ( [=, &count]), ключове слово mutable для внутрішнього стану, а також основні підводні камені: питання часу життя під час захоплення за посиланням, «приховування» імен параметрами та типові помилки, через які код або не компілюється, або поводиться непередбачувано.
    Відкрита
  • Generic lambdas: []( auto & x){...} як «мʼякий шаблон»

    C++ SELF
    22 рівень, 2 лекція
    Розбираємо generic-лямбди в C++: як працює auto у параметрах і чому це схоже на «мʼякий шаблон». Також подивимося, де проявляються обмеження тіла лямбди, тобто вимоги до операцій на кшталт + або size(), і як на практиці обирати передавання за значенням або за посиланням — auto, auto &, const auto & — щоб уникати зайвих копій і ситуацій на кшталт «не викликається з тимчасовим значенням».
    Відкрита
  • std::function — коли він потрібен і якою є його ціна

    C++ SELF
    22 рівень, 3 лекція
    Розбираємо, навіщо в C++ потрібен std::function<R(Args...)>: чому кожна лямбда має власний тип, як зберігати різні callable з однаковою сигнатурою в одній змінній і як працювати з «порожнім» станом та перевіркою if ( f). Також обговорюємо ціну цієї обгортки: непрямий виклик, можливі виділення памʼяті й дорогі копіювання. А потім збираємо практичний міні-диспетчер команд на std::vector і таблиці обробників.
    Відкрита
  • Лямбди в алгоритмах: sort, remove_if, transform

    C++ SELF
    22 рівень, 4 лекція
    Розглянемо, як лямбда-вирази перетворюють алгоритми STL на «конвеєр оброблення даних»: задаємо правило сортування через компаратор для std::sort, видаляємо елементи за предикатом за допомогою std::remove_if (і правильно завершуємо це через erase), а потім будуємо похідні дані через std::transform. Паралельно закріпимо, що таке строгий порядок порівняння ( < замість <=), що саме означає предикат «видалити, якщо…» та як акуратно захоплювати налаштування в лямбдах.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush