Menu
Coddy logo textTech
Путь обучения

Roadmap C++-разработчика

Что учить и в каком порядке, чтобы работать на C++ в геймдеве, системном программировании, трейдинге или встраиваемых системах: язык вплоть до памяти, семантики перемещения и шаблонов, командная строка, Git и SQL, затем структуры данных и алгоритмы, на которые опираются собеседования по C++, и код, который команда сможет поддерживать. Бесплатно, на практике, прямо в браузере, без локальной компиляции.

483,554+ codders записались на эти курсы

614 уроков524 задачи2,885 вопросов квиза

Дорожная карта C++-разработчика, шаг за шагом

17 курсов6 разделов614 уроков524 задачи2,885 вопросов квиза

Каждый шаг состоит из уже существующих курсов Coddy, и каждая кнопка «Начать» открывает их на C++. Проходите шаги по порядку или начните с того, которого вам не хватает: прогресс сохраняется по каждому курсу отдельно.

  1. 1
    Начать этот шагНачатьТри раздела. Раздел «Основы» охватывает типы, операторы, управляющие конструкции, функции, массивы и строки; «Логика и управление потоком» разбирает указатели с new и delete, std::vector, std::map и std::set, лямбды, первое знакомство с рекурсией и исключения; «Объектно-ориентированное программирование» охватывает заголовочные файлы, стек и кучу, умные указатели и RAII, конструкторы и деструкторы, перегрузку операторов, виртуальные функции, шаблоны, STL, семантику перемещения и паттерны проектирования. Поначалу C++ труден, потому что компилирует ошибки, которые другие языки отвергли бы; изучите его глубоко, потому что на работу с C++ нанимают именно за эту глубину.НачатьСвоя страница
  2. 2
    Начать этот шагНачатьФайлы и пути, подстановочные символы, grep, пайпы и перенаправление, права доступа, переменные окружения и shell-скрипты. Серверы на C++, торговые системы и значительная часть встраиваемой разработки работают на Linux, а повседневные инструменты здесь терминальные: вы компилируете через g++ или clang++, подаёте программе тестовый ввод через <, сохраняете её вывод через > и ищете в логе падения через grep. Shell-скрипт превращает многошаговую сборку или прогон тестов в одну команду.НачатьСвоя страница
  3. 3
    Начать этот шагНачатьПодготовка изменений (staging), коммиты, .gitignore, ветки, слияния и конфликты, отмена ошибок и удалённые репозитории. Объектным файлам, бинарникам и каталогу build/ место в .gitignore, но никак не в коммите. Игровые студии часто хранят огромные графические ассеты в Perforce, но почти во всех остальных местах C++ живёт в Git, от прошивок для встраиваемых устройств до компиляторов с открытым исходным кодом.НачатьСвоя страница
  4. 4
    Начать этот шагНачатьФильтрация, сортировка, соединения, группировка, агрегатные функции, подзапросы, конструкции WITH и оконные функции на настоящих таблицах. В C++ SQL встречается реже, чем в веб-языках, но встречается: SQLite, движок, на котором работают эти уроки, написан на C и встроен в бесчисленные десктопные и мобильные приложения, торговые системы и системы телеметрии хранят свою историю в базах данных, а на общих собеседованиях на разработчика ПО иногда просят написать запрос.НачатьСвоя страница
  5. 5
    Начать этот шагНачатьСтек, очередь, связный список, двоичное дерево и хеш-таблица: каждую структуру вы пишете на C++ с нуля, а затем применяете в задачах. Здесь указатели из первого шага становятся реальными: каждый узел, выделенный через new, нужно освободить через delete или отдать во владение std::unique_ptr, а деструктор дерева оказывается рекурсией на практике. После этого выбор между std::vector, std::list и std::unordered_map становится решением о стоимости, а не делом привычки.Начать
  6. 6
    Начать этот шагНачатьЗадачи на рекурсию, затем сортировка пузырьком, выбором, вставками, слиянием и быстрая сортировка на C++, с анимацией сортировок в визуализаторе алгоритмов Coddy. После этого два факта о C++ становятся понятнее: слишком глубокая рекурсия переполняет стек вызовов и обычно сразу обрушивает программу, без исключения, которое можно было бы перехватить, а у std::list есть собственный метод sort(), потому что std::sort нужны итераторы произвольного доступа, которых связный список дать не может.Начать
  7. 7
    Начать этот шагНачатьОбъектно-ориентированный проект, собранный от начала до конца, и банк задач по программированию, оба на C++. В C++ читаемый код включает ясное владение: кто выделяет память, кто её освобождает, какая ссылка может пережить что. Код-ревью на C++ постоянно к этому возвращается.Начать
Что вы получаете
Всё, что вам нужно, чтобы научиться программировать

Learn by Doing

Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.

playground.js
Code Editor
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Build Your Coding Streak

Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.

12 days streak

Return tomorrow to keep your streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Double or Nothing

Day 5 of 7

fire Freeze icon

Streak Freeze

2 left

Code Anywhere, Anytime

Take your coding journey on the go! No setup, no downloads - just open and start coding. Available on iOS, Android and Web with 4.9 star ratings.

Python
7Streak
250Score
5Energy
Variables
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
CONTINUE
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Journey
Goals
Leaderboard
Profile
4.9
StarStarStarStarStar
Rating

You're Not Alone in This

Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!

Challenger League
Challenger LeagueTop 7 advance
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconPromotion zoneleaderboard Arrow Up icon

Every way to learn

Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.

Intro to Variables
Audio

A variable is a named container that stores a value you can reference later in your program.

In Python, you create one by writing the name, an equals sign, then the value you want to store.

The value can change over time - reassigning the name simply points it to a new value.

1xSarah

Prove Your Skills

Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.

CoddyCertificate of Completion
This certifies thatJohn Doehas successfully completed
python iconPython Fundamentals
Verified
DateJan 2026
LinkedInAdd to LinkedIn

Почему стоит пройти эту дорожную карту по C++ на Coddy

  • Под работу, для которой выбирают C++. Игровые движки, торговые системы, браузеры, базы данных, встраиваемые устройства и высокопроизводительные вычисления: здесь C++ выбирают за контроль над скоростью и памятью, и на любой из этих ролей от вас ждут понимания того, чего стоит ваш код. Эта дорожная карта выстраивает такое понимание, начиная с самого языка.
  • Память не прячут, а объясняют. Курс C++ разбирает указатели с new и delete, затем стек и кучу, умные указатели и RAII, конструкторы копирования и перемещения и правило трёх, пяти и нуля: темы, к которым собеседования по C++ возвращаются снова и снова.
  • Структуры данных, которые сами владеют памятью. Связный список и двоичное дерево на пятом шаге состоят из узлов, которые вы сами выделяете и освобождаете, поэтому утечку или висячий указатель вы отлаживаете, а не читаете о них. Задачи на рекурсию и пять сортировок тоже на C++.
  • Автопроверка и помощь с ошибками компиляции. Каждый урок заканчивается задачей на C++, которую проверяют тесты, а когда компилятор или тест говорит «нет», Bugsy подсказывает путь к исправлению, не выписывая его за вас. Большинство курсов заканчиваются бесплатным сертификатом, и не нужно устанавливать ни компилятор, ни тулчейн.

Частые вопросы о том, как стать C++-разработчиком

Сколько времени нужно, чтобы стать C++-разработчиком?

Дольше, чем для большинства языков: реалистичный срок от нуля до junior-собеседования по C++ составляет от девяти до восемнадцати месяцев примерно по часу в день. Сам курс C++ в таком темпе занимает около двух месяцев, и его объектно-ориентированный раздел, с управлением памятью, шаблонами и семантикой перемещения, стоит проходить не спеша; командная строка, Git и SQL добавляют около месяца, структуры данных и сортировки ещё два-три. Затем специализированные роли добавляют свою предметную область: движок, торговый стек, микроконтроллер.

Подходит ли C++ как первый язык для разработчика ПО?

Это требовательный выбор. Вы узнаёте, как на самом деле работают память, типы и компиляция, отчего каждый следующий язык даётся легче, а платите за это более медленным прогрессом и более жёсткими ошибками в начале. Если вы уже знаете, что хотите заниматься играми, системным программированием или встраиваемыми системами, начинать с C++ разумно; если не уверены, многие сначала учат Python, а к C++ приходят вторым, и страница пути разработчика ПО и есть эта дорожная карта на Python.

Что ещё, кроме C++, нужно знать C++-разработчику?

Командную строку, Git и SQL, которые охватывает эта дорожная карта, а затем инструментарий вокруг языка: систему сборки, обычно CMake; отладчик вроде GDB или LLDB; санитайзеры, которые ловят ошибки памяти во время выполнения; и менеджер пакетов вроде vcpkg или Conan. После этого наступает черёд предметной области, в которую вы целитесь, будь то игровой движок, внутреннее устройство операционных систем, сети или встраиваемое железо.

C++ или Rust для карьеры в системном программировании?

C++ ради размера существующего рынка вакансий, Rust ради растущей доли новых проектов. Игровые движки, торговые системы, браузеры и компиляторы в основном представляют собой долгоживущие кодовые базы на C++, а Rust набирает позиции в новой инфраструктуре и коде, чувствительном к безопасности, потому что его компилятор исключает целые классы ошибок памяти. Если сначала выучить C++, правила Rust покажутся знакомыми, а эта дорожная карта есть и на Rust.

Какой курс этой дорожной карты не преподаётся на C++?

Один: курс по чистому коду пока преподаётся только на Python, поэтому он указан после шагов, а не на седьмом шаге. Его предмет (именование, небольшие функции и чёткое распределение ответственности) не зависит от языка, а когда вы пройдёте курс, C++ Core Guidelines покажут то же мышление применительно к C++. Все шаги, включая объектно-ориентированный проект и задачи по программированию, проходят на C++.

Эта дорожная карта по C++ бесплатная?

Да. Все курсы на ней бесплатны: уроки, компилятор C++ и терминал Linux в браузере, задачи с проверкой по тестам, подсказки Bugsy и сертификаты. Pro снимает дневной лимит энергии и даёт безлимитную помощь ИИ, но ничего на этой дорожной карте его не требует.

Другие пути обучения

Те же курсы, выстроенные под другую роль. Прогресс сохраняется: курс, пройденный на одном пути, засчитывается на каждом пути, куда он входит.

Все пути обучения
Coddy programming languages illustration

Начните путь Разработчик ПО бесплатно

Начать учиться