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

Лекции

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

    C++ SELF
    63 уровень,0 лекция
    Разбираем файловые потоки C++: чем отличаются std::ifstream, std::ofstream и std::fstream, как правильно открывать файл (в конструкторе или через open()), как проверять успех через if ( ! stream ) и is_open(), и почему RAII автоматически гарантирует корректное закрытие ресурса. В конце — мини‑практика сохранения задач и список типичных ошибок.
    Открыта
  • Состояния потока: good/eof/fail/bad

    C++ SELF
    63 уровень,1 лекция
    Разбираем, как C++‑потоки запоминают результат ввода: чем отличаются состояния good(), eof(), fail(), bad(), почему ловушка while ( ! in. eof()) приводит к лишней итерации, как правильно строить циклы чтения через while ( in >> x) и построчно через std::getline, а также как диагностировать причины остановки и восстанавливаться после fail() с помощью clear() и ignore().
    Открыта
  • Текстовый и бинарный формат

    C++ SELF
    63 уровень,2 лекция
    Разбираем, почему любой файл на диске — это просто байты, и как «формат» превращается в договорённость о чтении/записи. Сравниваем текст и бинарный подход, учимся выбирать режимы открытия через std::ios::openmode, комбинировать флаги побитовым | (а не логическим ||), осознанно применять std::ios::trunc/ std::ios::app и std::ios::binary, а также понимаем, чем std::endl отличается от '\n' из-за flush(). Всё — на примере мини-приложения TaskBook.
    Открыта
  • Ошибки I/O — исключения vs проверка состояния

    C++ SELF
    63 уровень,3 лекция
    Разбираем два практических стиля обработки ошибок ввода/вывода в C++: ручные проверки состояния потока (через good(), eof(), fail(), bad() и идиомы чтения в условии while), и «линейный» код с исключениями потока через exceptions() и маски failbit/ badbit. На примерах показываем ловушки EOF, границы ответственности ( return false vs throw), мини‑рефакторинг загрузки/сохранения задач и типичные ошибки вроде while (! in . eof ()).
    Открыта
  • Надёжная загрузка: стратегия fail fast vs best effort

    C++ SELF
    63 уровень,4 лекция
    Разбираем, как строить «надёжную загрузку» данных из файла в C++: выделяем 3 слоя (I/O → парсинг → валидация), аккуратно читаем строки через std::getline, парсим числа без исключений с std::from_chars, проверяем инварианты модели и выбираем политику ошибок: fail fast (всё или ничего) или best effort (частичный успех + отчёт проблем).
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush