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

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Undefined Behavior (UB): почему «иногда работает»

    C++ SELF
    35 уровень,0 лекция
    Разбираем, что такое Undefined Behavior в C++ и почему после него язык «ничего не обещает»: от эффекта «в Debug работает, в Release падает» до причин, из‑за которых оптимизатор меняет поведение. На примерах показываем типовые источники UB (выход за границы через operator[], деление на ноль, signed overflow, некорректные сдвиги), собираем безопасную мини‑архитектуру для StudyLog и обсуждаем, как искать UB с помощью санитайзеров ( ASan/ UBSan).
    Открыта
  • ASan/UBSan: какие классы проблем ловят

    C++ SELF
    35 уровень,1 лекция
    Разбираем, зачем в C++ включать санитайзеры и почему это всегда отдельный режим сборки (инструментирование даёт другой бинарник). Сравним зоны ответственности ASan и UBSan, посмотрим типовые «попадания» (выход за границы массива/вектора, деление на 0, signed overflow, некорректные сдвиги), и закрепим практикой: флаги -fsanitize=address/ -fsanitize=undefined, плюс полезные опции -g и -O0, а также мини-кейс со статистикой шагов.
    Открыта
  • Типовой отчёт санитайзера: как читать стек

    C++ SELF
    35 уровень,2 лекция
    Разбираем практический алгоритм чтения отчётов AddressSanitizer ( ASan) и UndefinedBehaviorSanitizer ( UBSan): как за 10 секунд выцепить тип проблемы ( heap-buffer-overflow, division by zero), найти первую ссылку на свой .cpp/ .hpp, прочитать stack trace и отличить «место обнаружения» от «места рождения» бага. На мини‑проекте со std::vector формулируем инварианты вроде i < v . size() и учимся чинить первопричину, а не симптом.
    Открыта
  • assert — runtime‑предохранитель для инвариантов

    C++ SELF
    35 уровень,3 лекция
    Разбираем, как использовать assert (из <cassert>) как «предохранитель» для инвариантов: где ставить проверки, почему в Release они могут исчезать из-за NDEBUG, почему нельзя допускать побочные эффекты внутри assert(...), как добавлять понятные сообщения через &&, и как сочетать проверки с санитайзерами для раннего и диагностируемого падения.
    Открыта
  • static_assert: compile-time проверки

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