0Pricing
C++ Academy icon

C++ Academy

C_PLUS_PLUSSystemsBackendGamesDataAiSecurityBeginnerCloudDatabaseMobileEnterpriseDesktopCryptoNetwork

Совершенствуйте навыки разработки программного обеспечения, изучая C++ в C++ Programming Academy.

🤖 На основе AI📚 51 курсов👥 100 000+ учеников⭐ Рейтинг 4,9
Обзор курса

C++ — это язык, где производительность не подлежит компромиссам

C++ используется в операционных системах, игровых движках, компиляторах, встроенном ПО и системах высокочастотной торговли. Он дает вам прямой контроль над памятью и оборудованием, предоставляя при этом богатую стандартную библиотеку и современные возможности языка — от умных указателей до корутин, появившихся в C++11–C++20. Этот курс охватывает полный язык: от первого объявления переменной до написания бесблокировочных параллельных структур данных и корутин C++20.

Что вы изучите

Вы начнете с синтаксиса, переменных, строк и потоков ввода-вывода, затем перейдете к управлению потоком выполнения, структурам, классам и динамическим массивам. Основные компетенции строятся вокруг модели памяти C++, RAII, корректности const, безопасного использования указателей, а также std::optional и std::variant. Вы работаете с полным спектром контейнеров STL — векторами, ассоциативными контейнерами, unordered_map, std::array и std::span — и овладеваете алгоритмами STL, итераторами и ranges. Современные возможности C++ получают особое внимание: семантика перемещения, rvalue-ссылки, лямбды, функторы, std::function и ключевые особенности C++11, 14, 17 и 20. Позже курсы охватывают модульное тестирование с Google Test, отладку с помощью санитайзеров, сборку на основе CMake, файловый ввод-вывод, сетевые возможности и примитивы параллелизма. Курс завершается продвинутыми шаблонами, SFINAE, C++20 Concepts, CRTP, type traits, бесблокировочными атомарными операциями и корутинами.

Путь обучения

Пятьдесят один курс прогрессирует от A1 через C2. Основы A1 и A2 охватывают синтаксис, строки, ввод-вывод, управление потоком выполнения, структуры, ссылки и практические шаблоны мини-проектов. B1 — это самый крупный блок из девятнадцати курсов, которые устанавливают профессиональное владение моделью памяти, умными указателями, наследованием, перегрузкой операторов и стандартной библиотекой во всей их полноте. B2 переходит к продвинутым темам с семантикой перемещения, современными возможностями C++, алгоритмами STL, модульным тестированием и отладкой. Десять курсов C1 охватывают параллелизм, продвинутые шаблоны и метапрограммирование, C++20 Concepts, инженерию производительности, встроенные системы, взаимодействие и проектирование API. Курс завершается на C2 с бесблокировочным и атомарным параллелизмом, а также корутинами C++20.

Как это работает

Каждый курс разделен на короткие, сосредоточенные уроки, которые вы выполняете во встроенном редакторе кода с мгновенной обратной связью. Когда вы застряли, AI-репетитор объясняет концепцию и направляет вас к правильному решению, не просто вручая его вам.

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

Как ты будешь учиться

🎯
Интерактивные уроки
Практические упражнения по программированию с мгновенной обратной связью
🤖
ИИ-репетитор
Получай мгновенную помощь от нашего ИИ, когда застрянешь
💻
Встроенный редактор
Пиши и запускай код прямо в браузере
🏆
Сертификат
Получи сертификат при завершении курса
Программа обучения

51 курсов

Все курсы в пути обучения C++ Academy.

01

Добро пожаловать в C++

A13 уроков

Узнайте, что такое C++, почему спустя 40 лет после создания он остаётся одним из самых мощных и распространённых языков и где он незаметно…

02

Основы C++: синтаксис и переменные

A14 уроковPRO

Настройте компилятор C++, напишите первую программу и освойте переменные, вывод типов и базовые операторы. Это отправная точка для каждого…

03

Работа со строками в C++

A14 уроковPRO

Обрабатывайте текст с помощью std::string и массивов символов в стиле C. Изучите разбор, форматирование и преобразование строк для повседне…

04

Потоки ввода и вывода

A14 уроковPRO

Аккуратно читайте ввод и записывайте вывод с помощью iostream. Разберите cin, cout, cerr, средства форматирования и безопасную проверку вво…

05

Шаблоны управления потоком выполнения

A14 уроковPRO

Профессионально работайте с ветвлениями и циклами. Изучите if-else, switch, for, while, range-based for и современный стиль раннего возврат…

06

Введение в структуры и классы

A24 уроковPRO

Объединяйте данные в структуры и классы. Изучите конструкторы, списки инициализации членов и указатель this.

07

Работа с числами и математикой

A24 уроковPRO

Выполняйте вычисления с целыми числами и числами с плавающей точкой с помощью библиотеки cmath. Генерируйте случайные числа и изучайте пове…

08

Векторы и динамические массивы

A24 уроковPRO

Освойте std::vector — основу современных коллекций C++. Сравните его со std::array и обычными массивами в стиле C.

09

Ссылки и передача по ссылке

A24 уроковPRO

Поймите ссылки — более безопасную альтернативу указателям — и изучите правила передачи значений по ссылке и по константной ссылке.

10

Практические шаблоны мини-проектов

A24 уроковPRO

Примените всё изученное, создав четыре самостоятельных мини-проекта: калькулятор, средство чтения CSV, игру на угадывание и счётчик частот…

11

Случайные числа с <random>

A24 уроковPRO

Случайные числа с : генераторы случайных чисел, распределения и не только

12

Модель памяти C++: стек и куча

B14 уроковPRO

Модель памяти C++: стек и куча: выделение памяти в стеке, выделение в куче с new/delete и не только

13

RAII и управление ресурсами

B14 уроковPRO

RAII и управление ресурсами: принцип RAII, деструкторы и освобождение ресурсов и не только

14

Обработка исключений и noexcept

B14 уроковPRO

Обработка исключений и noexcept: try, catch, throw, безопасность исключений и не только

15

Корректное использование const и constexpr

B14 уроковPRO

Корректное использование const и constexpr: константные переменные и параметры, константные методы-члены и не только

16

Безопасная работа с указателями

B14 уроковPRO

Используйте необработанные указатели ответственно. Изучите арифметику указателей, nullptr и случаи, когда вместо них лучше выбрать ссылки и…

17

Перечисления, объединения и std::variant

B14 уроковPRO

Перечисления, объединения и std::variant: перечисления enum class с областью действия, объединения и связанные с ними риски и не только

18

std::optional и std::expected

B14 уроковPRO

std::optional и std::expected: представление отсутствующих значений с optional, доступ к значениям optional и не только

19

std::string_view и эффективная работа со строками

B14 уроковPRO

std::string_view и эффективная работа со строками: зачем нужен string_view, создание представлений и не только

20

std::array и std::span

B14 уроковPRO

std::array и std::span: массив фиксированного размера std::array, основы std::span и не только

21

Ассоциативные контейнеры

B14 уроковPRO

Ассоциативные контейнеры: std::map, std::set и не только

22

Хеширование с unordered_map

B14 уроковPRO

Хеширование с unordered_map: std::unordered_map, unordered_set и не только

23

Интеллектуальные указатели и владение

B14 уроковPRO

Замените необработанные new и DELETE интеллектуальными указателями. Освойте семантику владения unique_ptr, shared_ptr и weak_ptr.

24

Шаблоны наследования и полиморфизма

B14 уроковPRO

Применяйте объектно-ориентированное проектирование с наследованием, виртуальными функциями и абстрактными классами — и знайте, когда композ…

25

Перегрузка операторов и пользовательские типы

B14 уроковPRO

Сделайте свои типы естественными для использования. Перегружайте арифметические операторы, операторы сравнения, потоковые операторы и опера…

26

Сборка с CMake и управление пакетами

B14 уроковPRO

Настройте переносимые и масштабируемые сборки C++ с помощью CMake. Управляйте зависимостями с помощью vcpkg и Conan.

27

Ввод-вывод файлов с fstream

B14 уроковPRO

Ввод-вывод файлов с fstream: чтение файлов с ifstream, запись файлов с ofstream и не только

28

Время и библиотека Chrono

B14 уроковPRO

Время и библиотека Chrono: интервалы и часы, моменты времени и не только

29

Регулярные выражения с <regex>

B14 уроковPRO

Регулярные выражения с : основы regex, захватывающие группы и не только

30

Ключевые возможности современного C++: C++11, 14, 17 и 20

B24 уроковPRO

Познакомьтесь с наиболее важными дополнениями от C++11 до C++20: auto, циклы по диапазону, лямбда-выражения, структурированное связывание и…

31

Семантика перемещения и ссылки на временные значения

B24 уроковPRO

Избавьтесь от ненужного копирования. Изучите ссылки на временные значения, std::move, std::forward и написание конструкторов перемещения.

32

Функторы, лямбды и std::function

B24 уроковPRO

Эффективно используйте вызываемые объекты в современном C++. Сравните функторы, лямбда-выражения и стирающий тип std::function.

33

Глубокое погружение в алгоритмы STL

B24 уроковPRO

Используйте богатую библиотеку алгоритмов. Рассмотрите немодифицирующие, модифицирующие, сортирующие и числовые алгоритмы на практических п…

34

Итераторы и диапазоны

B24 уроковPRO

Поймите категории итераторов и перейдите к библиотеке диапазонов C++20 для создания компонуемых ленивых конвейеров обработки данных.

35

Функциональные объекты и std::bind

B24 уроковPRO

Функциональные объекты и std::bind: указатели на функции, std::function и не только

36

Сетевое взаимодействие и сокеты

B24 уроковPRO

Взаимодействуйте с сетью из C++. Используйте сокеты BSD, асинхронный ввод-вывод с epoll и Boost.Asio для чистого асинхронного кода.

37

Модульное тестирование с Google Test

B24 уроковPRO

Модульное тестирование с Google Test: настройка GTest, проверки и сопоставители и не только

38

Отладка и средства анализа памяти

B24 уроковPRO

Отладка и средства анализа памяти: использование gdb и lldb, AddressSanitizer и не только

39

Примитивы параллелизма

C14 уроковPRO

Безопасно выполняйте код параллельно. Изучите std::thread, std::mutex, условные переменные и std::async с объектами future.

40

Специализация шаблонов и SFINAE

C14 уроковPRO

Специализация шаблонов и SFINAE: полная специализация, частичная специализация и не только

41

Продвинутые шаблоны и метапрограммирование

C14 уроковPRO

Свободно работайте с шаблонами. Рассмотрите специализацию, вариативные шаблоны, функции constexpr и if constexpr.

42

Концепты и ограничения C++20

C14 уроковPRO

Замените громоздкий SFINAE более чистой системой концептов C++20 для ограничения шаблонов.

43

Оптимизация производительности и профилирование

C14 уроковPRO

Ускоряйте код C++. Рассмотрите размещение данных с учётом кэша, предсказание переходов, инструменты профилирования и микротестирование прои…

44

C++ для встраиваемых систем и системного программирования

C14 уроковPRO

Применяйте C++ в микроконтроллерах и системном программном обеспечении. Учитывайте ограничения: отсутствие RTTI, исключений и требования ре…

45

Взаимодействие C++ с другими языками

C14 уроковPRO

Связывайте C++ с C, Python, Rust и другими языками. Используйте extern C, pybind11, FFI и SWIG для объединения экосистем.

46

Проектирование API C++ и создание библиотек

C14 уроковPRO

Проектируйте библиотеки, которые хорошо выдерживают испытание временем. Рассмотрите шаблоны библиотек только с заголовочными файлами, верси…

47

Современный C++ в промышленной разработке

C14 уроковPRO

Выпускайте надёжный код на C++. Используйте статический анализ, санитайзеры, фаззинг и непрерывную интеграцию, чтобы поддерживать код в хор…

48

CRTP и статический полиморфизм

C14 уроковPRO

CRTP и статический полиморфизм: идиома CRTP, статический полиморфизм и не только

49

Признаки типов и <type_traits>

C14 уроковPRO

Признаки типов и : проверка типов, преобразование типов и не только

50

Продвинутый параллелизм: программирование без блокировок и атомарные операции

C24 уроковPRO

Создавайте структуры данных без блокировок с помощью атомарных операций, порядков памяти и циклов CAS. Поймите опасности программирования б…

51

Корутины C++20

C24 уроковPRO

Пишите асинхронный код, выглядящий как синхронный, с помощью корутин C++20. Создавайте собственные генераторы и задачи.

Часто задаваемые вопросы

Часто задаваемые вопросы

Курс C++ Academy бесплатный?

Да. Ты можешь начать курс C++ Academy бесплатно и пройти его интерактивные уроки без платежей. Опциональная подписка PRO открывает продвинутые инструменты на базе ИИ и сертификат, который можно поделиться.

Нужен ли мне опыт, чтобы выучить C_PLUS_PLUS?

Нет. Курс начинается с основ и постепенно переходит к более сложным темам, поэтому ты можешь начать даже без предыдущего опыта C_PLUS_PLUS.

Как я выучу C_PLUS_PLUS на CoddyKit?

Ты учишься на практике. Короткие интерактивные уроки сочетают понятное объяснение с практическими упражнениями по программированию, которые выполняются в реальном времени, а круглосуточный ИИ-репетитор помогает, когда ты застрянешь.

Получу ли я сертификат за завершение C++ Academy?

Да. Пользователи PRO могут пройти экзамен и получить сертификат завершения C++ Academy с проверяемым кодом.

Могу ли я выучить C_PLUS_PLUS на телефоне?

Да. CoddyKit доступен в браузере и как нативное приложение на iOS и Android, так что ты можешь выучить C_PLUS_PLUS на любом устройстве и твой прогресс синхронизируется.

Начни C++ Academy прямо сейчас

Присоединись к тысячам учеников, которые осваивают программирование с помощью уроков на AI.

Начать бесплатно →Все курсы