JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • 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
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush