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

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • struct как модель данных

    C++ SELF
    19 уровень,0 лекция
    Разбираем, зачем в C++ использовать struct как модель данных: как связать поля одной сущности под общим типом, работать с доступом через ., применять агрегатную инициализацию { ... } (и почему важен порядок полей), задавать значения по умолчанию (default member initializer) и передавать модель в функции по const T &. В конце собираем мини‑заготовку TaskTracker на std::vector < Task > и обсуждаем типичные ошибки.
    Открыта
  • Закрытый набор значений: enum и enum class

    C++ SELF
    19 уровень,1 лекция
    Разбираем, почему хранить статус как bool, int или std::string — плохая идея, и как enum class решает проблему «закрытого набора значений». На примере модели Task добавим статусы и приоритеты, сравним enum и enum class, обсудим underlying type (например, std::uint8_t), получение числового кода через std::to_underlying, а также типичные ошибки и опасные преобразования вроде static_cast.
    Открыта
  • switch в C++: ветвление по значению, break, fallthrough

    C++ SELF
    19 уровень,2 лекция
    Разбираем оператор ветвления switch в C++: чем он отличается от цепочки if/ else, как устроены метки case и default, почему так легко забыть break, и что такое fallthrough (проваливание в следующий case). Отдельно обсудим ограничения ( switch работает по целым/перечислимым типам), compile-time константы в case, атрибут [[ fallthrough ]], а также соберём каркас меню для мини‑проекта TaskTracker на std::vector и enum class.
    Открыта
  • Коллекция моделей: std::vector<Model>

    C++ SELF
    19 уровень,3 лекция
    Разбираем, как превратить одиночные модели в управляемую коллекцию на C++: используем std :: vector < Task > как основу данных и строим вокруг него CRUD‑операции. На практике пишем функции для добавления ( push_back()), чтения (печать и поиск по id), обновления (смена status, переименование) и удаления ( erase()), а затем связываем всё в простой CLI‑цикл ввода. Отдельно обсудим типичные ошибки: signed/ unsigned, -1 в size_t, сдвиг элементов после удаления и путаницу id с индексом.
    Открыта
  • Печать моделей — единый формат вывода

    C++ SELF
    19 уровень,4 лекция
    Разбираем, как в C++ централизовать печать моделей, чтобы один и тот же объект (например, Task) всегда выводился одинаково во всех сценариях. Договоримся о табличном формате, вынесем преобразование статуса в строку через ToString ( Status ), реализуем печать строки PrintTaskRow и печать списка PrintTasks, а также обсудим ловушки форматирования потока (манипуляторы std::left/ std::right и std::setw).
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush