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

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Состояния std::cin: good/eof/fail/bad

    C++ SELF
    20 уровень,0 лекция
    Разбираем, как устроены состояния потока ввода std::cin: что означают проверки good(), eof(), fail(), bad(), почему после ошибки формата поток «залипает», и как писать безопасное чтение через if ( std::cin >> x) / while ( std::cin >> x) с корректным различением конца ввода и ошибки формата.
    Открыта
  • std::cin.clear() и std::cin.ignore()

    C++ SELF
    20 уровень,1 лекция
    Лекция о том, как «починить» консольный ввод в C++ после неправильного формата: почему поток попадает в состояние fail(), что на самом деле делает clear() (сбрасывает флаги ошибок), зачем нужен ignore() (выкинуть мусор из буфера), как правильно сочетать clear() + ignore(), и почему связка >> и std::getline часто даёт «пустую строку». В конце — практический мини‑пример меню и разбор типичных ошибок.
    Открыта
  • std::optional<T>: «значение есть/нет» вместо магических -1

    C++ SELF
    20 уровень,2 лекция
    Разбираем, почему «магические значения» вроде - 1 для “не найдено” ведут к скрытым договорённостям и ошибкам, и как std::optional<T> делает отсутствие результата частью типа. На примерах поиска индекса, мини‑проекта TaskList и простого парсинга показываем возврат std::nullopt, проверку if ( has_value()), разыменование * opt и полезный метод value_or().
    Открыта
  • std::from_chars — парсинг чисел с кодами ошибок

    C++ SELF
    20 уровень,3 лекция
    Разбираем, как безопасно и предсказуемо парсить числа в C++ с помощью std::from_chars: без исключений и выделений памяти, с явной проверкой результата через поля ec и ptr. Научимся отличать «не число» от «слишком большое число», делать строгий ввод (без хвоста вроде "12kg") и писать удобные обёртки под приложение на базе std::optional и собственного результата со статусом.
    Открыта
  • [[nodiscard]]: дисциплина не игнорировать результат

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