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

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Каждый .cpp компилируется отдельно

    C++ SELF
    26 уровень,0 лекция
    Разбираем раздельную компиляцию в C++: почему компилятор обрабатывает каждый .cpp как отдельный «мир», что такое единица трансляции (файл плюс всё, что попало в него через #include), почему «функция в соседнем файле» не помогает без объявления, и как правильно чинить ошибки вида was not declared. В конце — типичные ошибки при разнесении кода по файлам и как их избегать.
    Открыта
  • Заголовок vs исходник: объявления и определения

    C++ SELF
    26 уровень,1 лекция
    Разбираем, зачем в C++ разделяют код на .hpp и .cpp, чем отличается объявление от определения (сигнатура vs тело), какие сущности должны жить в заголовке как «контракт», а какие — в исходнике как «реализация». На практике выносим мини-приложение TaskPad в модуль tasks и фиксируем типичные ошибки: несоответствие сигнатур, несамодостаточные заголовки и попытки #include-ить .cpp.
    Открыта
  • namespace — структура кода и защита от конфликтов

    C++ SELF
    26 уровень,2 лекция
    Разбираем, зачем в C++ нужны пространства имён: как namespace помогает избегать конфликтов имён в больших проектах и при подключении библиотек, как читать и писать квалифицированные имена вида ns::name (включая std::cout), как устроены вложенные пространства ( app::model, app::ui), как «продолжать» один и тот же namespace в разных файлах, и почему main всегда остаётся в глобальной области видимости.
    Открыта
  • using и using namespace

    C++ SELF
    26 уровень,3 лекция
    Разбираем, как в C++ сокращать квалифицированные имена ( std::cout, std::string, app::cli::print_menu) без «эффекта заражения»: чем отличается точечный using ( using ns::name) от директивы using namespace, как работает область видимости, почему заголовки ( .hpp) требуют дисциплины, и какие практические шаблоны применять в .cpp.
    Открыта
  • Структура репозитория: include/, src/, tests/ и build/

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