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

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Инстанцирование — ошибки шаблонов выглядят страшно

    C++ SELF
    56 уровень,0 лекция
    Разбираем, почему шаблоны в C++ «проверяются не сразу»: что такое инстанцирование, почему ошибка появляется в момент использования, как читать длинные сообщения компилятора (цепочки подстановок, [with T = ...], «no match for operator...»), и как превратить «шаблонную простыню» в понятный список требований к типу. В конце — практический пример: универсальная печать std::vector<T> и необходимость определить operator<< для своего Task.
    Открыта
  • Где размещать шаблоны — заголовки и связь с ODR

    C++ SELF
    56 уровень,1 лекция
    Разбираем, почему определения шаблонов в C++ почти всегда держат в заголовках: модель раздельной компиляции, инстанциация по месту использования, типичный линковочный провал undefined reference, и как всё это связано с правилом ODR. Плюс — гигиена заголовков ( #pragma once / include guards) и практичный приём разнесения реализации через .inl/ .tpp.
    Открыта
  • auto выводит тип по выражению — базовые правила

    C++ SELF
    56 уровень,2 лекция
    Разбираем, как работает вывод типа в C++ при объявлении переменных через auto: почему обязателен инициализатор, как форма auto x = expr ведёт себя как создание копии «по значению», что именно теряется при дедукции (верхнеуровневый const и ссылочность без &), и почему auto особенно полезен со стандартной библиотекой (например, size(), find(), итераторы и алгоритмы). В конце — типичные ошибки и практические рекомендации по читаемости кода.
    Открыта
  • auto& / const auto& — как не потерять const

    C++ SELF
    56 уровень,3 лекция
    Разбираем, почему обычное auto часто делает копию и «снимает» const, и как правильно выбирать между auto, auto & и const auto &. На примерах с std::string, std::vector и мини-приложением TaskBox увидим, где появляются лишние копии в range-for, почему неконстантная ссылка не привязывается к временным объектам, и какие ошибки чаще всего делают новички.
    Открыта
  • decltype и decltype(auto)

    C++ SELF
    56 уровень,4 лекция
    Разбираем, зачем в C++ нужен decltype, даже если вы активно используете auto: как получить тип выражения «буквально как есть», не потерять const и ссылочность ( &), почему decltype(x) и decltype((x)) — разные вещи, и как decltype( auto) помогает писать корректные и эффективные return без лишних копий.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush