Учить C++ - Курс Кода
Учить C++ - Курс Кода — Пишите, компилируйте и запускайте код на C++ прямо с телефона
Учить C++ - Курс Кода — бесплатное приложение для iOS и Android для начинающих, студентов компьютерных наук и разработчиков, которые хотят учить C++, создавая собственный код. Встроенный редактор отправляет ваш код в настоящий компилятор GCC и показывает результат и код завершения, а AI-наставник переводит ошибки компилятора на понятный английский. 51 курс и более 200 коротких уроков проведут вас от первого cout до классов, STL, move semantics и C++20.
- Цена
- Бесплатно, обновление до Pro
- Платформы
- iOS и Android
- Языки
- 22
- Возрастной рейтинг
- 4+
- Требуется
- iOS 15.1 или новее
- App Store
- 4.9 ★ (7)


Указатели страшны только до двенадцатого урока.
У C++ репутация языка, которому невозможно научиться, но во многом это потому, что новичкам сразу показывают всё: ownership, heap, templates и STL с самого первого дня. В 51 коротком курсе тот же материал раскрывается постепенно, уровень за уровнем, а каждая идея завершается кодом, который вы сами компилируете и запускаете.
Что это
Учить C++ - Курс Кода — бесплатное приложение для iOS и Android, которое обучает C++ от первого cout до классов, STL, move semantics и современного C++20. В нём 51 курс и более 200 коротких уроков, объединённых в пять направлений (основы, память, объекты, STL и создание реальных программ), редактор, компилирующий код с помощью настоящего компилятора GCC, 20 практических проектов, 60 заданий и AI-наставник с переводчиком ошибок.
В приложении
Как это выглядит





Курс
Что входит в курс C++
51 курс из собственной учебной программы приложения — от первой скомпилированной программы до lock-free concurrency и корутин.
Синтаксис, строки и управление потоком выполнения
Настройка компилятора и запуск первой программы, затем переменные и выведение типов, std::string и C-style массивы char, потоки ввода и вывода, а также конструкции управления потоком выполнения, на которых основаны все последующие курсы.
Структуры, векторы и мини-проекты
Знакомство со структурами и классами, работа с числами и математикой, векторы и динамические массивы, передача по ссылке и небольшие практические проекты, объединяющие все эти элементы.
Память, RAII и более безопасные альтернативы сырым указателям
Модель памяти «стек против кучи», RAII и управление ресурсами, обработка исключений и noexcept, корректность const, безопасное использование указателей и умные указатели как современная замена ручным new и delete.
Современные типы, контейнеры и объектно-ориентированное проектирование
Перечисления, объединения и std::variant, std::optional и std::expected, std::string_view и std::span, ассоциативные контейнеры и хеширование unordered_map, наследование и полиморфизм, а также перегрузка операторов для пользовательских типов.
Инструменты сборки, работа с файлами и стандартная библиотека
Сборка с помощью CMake и управление пакетами, файловый ввод-вывод с fstream, библиотека chrono для работы со временем и сопоставление с шаблонами с помощью заголовка regex — всё, что связывает код с файловой системой и часами.
STL и современный C++ от C++11 до C++20
Обзор изменений от C++11 до C++20, семантика перемещения и rvalue-ссылки, лямбды и std::function, алгоритмы STL, итераторы и ranges, а также отладка с помощью санитайзеров.
Шаблоны, производительность и системное программирование
Примитивы конкурентности, специализация шаблонов и SFINAE, продвинутые шаблоны и метапрограммирование, концепты C++20, профилирование производительности и проектирование публичного API библиотеки.
Продвинутая конкурентность и корутины
Lock-free программирование и атомарные операции для случаев, когда mutex слишком медленный, а также корутины C++20 — самое новое дополнение к языку, которое изучается последним, поскольку всё предыдущее является необходимой базой.
Как это работает
Как проходит занятие по C++
Каждое занятие объединяет короткий урок с кодом, который вы запускаете, и несколько ежедневных упражнений, помогающих не забывать синтаксис.
Прочитайте короткий урок
Откройте курс и пройдите один урок по определённой теме — например, о struct, reference или smart pointer. Первый курс бесплатный, поэтому вы сможете оценить формат уроков, прежде чем что-либо решать.
Напишите, скомпилируйте и запустите код
Введите код в мобильном редакторе и запустите его. Настоящий компилятор GCC соберёт программу и вернёт результат и код завершения, а для программ, которые считывают данные из cin, будет доступно поле для ввода. Поскольку компилятор работает удалённо, для запуска кода требуется подключение.
Поддерживайте форму с ежедневными упражнениями и AI-наставником
Предскажите результат работы пяти коротких программ, исправьте одну сломанную программу в ежедневной охоте на ошибки или сыграйте в Syntax Sprint длительностью 60 секунд. Если ошибка непонятна, вставьте её в AI-наставник и получите объяснение в одном предложении, а также строку, которую нужно исправить.
Что внутри
Что входит в приложение
51
Курсы и более 200 уроков
Карта курсов объединяет их в пять направлений: основы, память, объекты, STL и создание реальных программ. Темы охватывают всё — от переменных и потоков до указателей, RAII и templates, а затем CMake, многопоточность и корутины.
GCC
Настоящий компилятор в редакторе
Код собирается настоящим компилятором GCC, а не симулятором. Вы видите результат и код завершения, можете передавать ввод программам, которые считывают данные из cin, и повторно запускать код одним нажатием. Каждая запущенная программа сохраняется.
3 в день
Три ежедневные практики
Предсказание результата (пять коротких программ в день — ответьте до того, как компилятор его определит), ежедневная охота на ошибки с бесплатными подсказками и Syntax Sprint длительностью 60 секунд с вопросами, на которые можно отвечать одним нажатием.
20
Практические проекты
Создавайте настоящие программы шаг за шагом: например, систему учёта инвентаря, банковский счёт, фигуры с полиморфизмом, stack на основе template, калькулятор RPN, связный список и машину состояний.
AI
AI-наставник и переводчик ошибок
Застряли на указателе или столкнулись со стеной ошибок templates? Вставьте ошибку и получите объяснение в одном предложении или задайте AI-наставнику любой вопрос простым языком.
60
Задания и мировой челлендж
60 заданий по программированию — от простых до сложных, новая задача каждый день и World Coding Challenge: три глобальных раунда в реальном времени ежедневно с таблицей лидеров, а также серии, XP и напоминания.
Контекст
Почему C++ до сих пор используется для программ, которые не могут позволить себе работать медленно?
C++ компилируется непосредственно в машинный код и даёт программисту прямой контроль над памятью, поэтому между кодом и аппаратным обеспечением ничего не стоит. Именно поэтому игровые движки, такие как Unreal, системы высокочастотной торговли, прошивки для робототехники и многие компоненты операционных систем до сих пор пишут на C++ — спустя десятилетия после появления языков более высокого уровня. Этот же контроль поначалу усложняет язык: программа на C++ должна явно указывать, где хранится значение и кто отвечает за освобождение памяти, тогда как Python или JavaScript делают это незаметно.
Stack и heapмодель памяти
Память stack освобождается автоматически сразу после возврата из функции; память heap сохраняется, пока что-то явно её не освободит. Многие ошибки, с которыми сталкиваются начинающие, — например, висячий указатель, утечка памяти или сбой при обращении к освобождённой памяти — возникают из-за путаницы между этими двумя видами памяти.
RAIIсобственная система безопасности C++
Resource Acquisition Is Initialization связывает время жизни ресурса с конструктором и деструктором объекта, поэтому ресурс освобождается автоматически, когда объект выходит из области видимости. Умные указатели — это применение RAII к памяти, и именно этот идиоматический подход делает современный C++ гораздо безопаснее кода с обычными указателями, который он заменил.
STLинструментарий внутри языка
Standard Template Library объединяет такие контейнеры, как vector, map и unordered_map, а также итераторы и алгоритмы, в которых уже реализованы сортировка, поиск и преобразование данных. Когда вы обращаетесь к STL вместо того, чтобы вручную создавать связный список, C++ перестаёт ощущаться как ручной труд.
Templatesкод, работающий с любым типом
Template позволяет одной функции или классу работать с любым типом, который компилятор может определить во время компиляции, без затрат во время выполнения. Именно этот механизм лежит в основе самой STL и позволяет библиотекам C++ быть одновременно универсальными и быстрыми.
Подходит
Кому это подходит — а кому нет
Подойдёт, если вы
- Хотите разбирать сложные темы C++, указатели, кучу и шаблоны постепенно, а не изучать их в одном объёмном руководстве
- Вы студент, изучающий компьютерные науки по учебной программе, которая предполагает знание STL и базовых структур данных
- Вы планируете заниматься разработкой игр, встраиваемых систем или системным программированием и хотите по-настоящему разобраться в модели памяти
- Вы пришли из Python или Java и хотите понять, что происходит в памяти
- Вы предпочитаете вставить настоящую ошибку компилятора в AI Mentor, а не искать шаблонное сообщение на форумах
Это не тот инструмент, если вы
- Вам нужно запускать код без подключения: программы компилируются на удалённом компиляторе GCC
- Вам уже сегодня нужен полноценный desktop toolchain — например, для многофайловых проектов CMake, больших внешних библиотек и отладчика, — а такие инструменты предназначены для компьютера
- Вы хотите получить все 51 курс бесплатно: первый курс и набор ежедневных заданий доступны бесплатно, а Pro открывает остальные
- Вы уже профессионально работаете с C++ и ищете справочник, а не последовательный курс
Вопросы
Часто задаваемые вопросы
Что такое Учить C++ - Курс Кода?
Учить C++ - Курс Кода — бесплатное приложение для iOS и Android, в котором можно изучать программирование на C++ с помощью коротких уроков и встроенного редактора кода, компилирующего программы на настоящем компиляторе GCC. Приложение создано для начинающих, студентов компьютерных наук, разработчиков игр и систем, а также всех, кто готовится к занятиям по программированию. Интерфейс доступен на 22 языках.
Учить C++ - Курс Кода — бесплатное приложение?
Приложение можно бесплатно скачать в App Store и Google Play и начать использовать без оплаты. Бесплатно доступны первый курс, ежедневный набор Predict the output, ежедневная охота на ошибки, три раунда Syntax Sprint в день, первый учебный проект, две миссии, ежедневная задача по программированию, World Coding Challenge и один вопрос AI Mentor в день. Pro открывает все курсы, миссии и проекты, неограниченный Syntax Sprint, полный набор инструментов AI, экзамен на сертификат и использование без рекламы.
Можно ли компилировать и запускать C++ на телефоне и работает ли приложение офлайн?
Да, вы можете писать на C++ во встроенном редакторе приложения и запускать код с телефона. Настоящий компилятор GCC собирает код и возвращает результат выполнения и код завершения, а программы, считывающие данные из cin, могут принимать введённый текст. Поскольку компилятор работает удалённо, для запуска кода требуется подключение к интернету. Большие многофайловые проекты CMake лучше собирать на компьютере.
Для кого предназначено приложение и что в нём изучают?
Оно подойдёт начинающим, изучающим C++ как первый или второй язык, студентам курса по C++, разработчикам игр и систем, а также разработчикам, пришедшим из Python или Java и желающим понять работу памяти. 51 курс охватывает переменные, строки, потоки, управление потоком выполнения, структуры и классы, векторы, ссылки, указатели, RAII, умные указатели, шаблоны, лямбды, STL, файловый ввод-вывод, CMake, конкурентность и корутины.
Что такое Predict the output, Bug hunt и Syntax Sprint?
Это три ежедневных привычки для практики C++. Predict the output предлагает пять коротких программ в день и просит дать ответ до того, как компилятор его подтвердит. Bug hunt каждый день предлагает одну сломанную программу, которую нужно исправить и проверить с помощью компилятора; доступны бесплатные подсказки. Syntax Sprint — это 60 секунд вопросов по синтаксису с ответами в одно касание, где вы стараетесь побить свой лучший результат.
Почему указатели и разделение памяти на стек и кучу кажутся такими сложными в C++?
В большинстве языков за вас решается, где хранится значение и когда оно освобождается; в C++ это решаете вы — в этом и заключается основная сложность. Указатель — всего лишь переменная, содержащая адрес другого значения, но путаница между стеком и кучей приводит к висячим указателям, утечкам и сбоям. Приложение изучает модель памяти, RAII и умные указатели в отдельных курсах.
Что такое RAII и почему в современном C++ ему отдают предпочтение перед ручными new и delete?
RAII, Resource Acquisition Is Initialization, связывает время жизни ресурса с конструктором и деструктором объекта, поэтому ресурс освобождается автоматически, когда объект выходит из области видимости, и вам не нужно помнить о вызове delete. Умные указатели — это применение RAII к памяти, а переход от сырых new и delete к умным указателям — одно из важнейших улучшений безопасности в современном C++.
Стоит ли изучить STL, прежде чем писать собственные структуры данных?
В целом — да. Standard Template Library уже предоставляет протестированные векторы, map, set, итераторы и алгоритмы, поэтому вы учитесь использовать std::sort, вместо того чтобы реализовывать его заново. При этом в учебных проектах приложения вы всё равно создадите связный список, стек на шаблонах и другие структуры, когда освоите основы.
Помогает ли приложение подготовиться к собеседованиям по C++?
Оно помогает с практической частью подготовки. Predict the output и Bug hunt тренируют внимательное чтение кода, курсы по STL охватывают контейнеры и алгоритмы, на которые часто опираются на собеседованиях, а учебные проекты — например, связный список, стек на шаблонах и калькулятор с обратной польской записью — позволяют попрактиковаться с распространёнными структурами. Это курс, а не специализированная база вопросов для собеседований.
Learn C++: Code & Practice в App Store — это то же приложение?
Да. В App Store приложение называется Learn C++: Code & Practice, а в Google Play — Учить C++ - Курс Кода, но это одно и то же приложение с теми же 51 курсом. После итогового экзамена выдаётся сертификат о завершении; он подтверждает выполненную вами работу, но не является аккредитованной квалификацией.
Начать
Скомпилируйте свою первую программу на C++ уже сегодня
51 курс, настоящий компилятор GCC и AI Mentor. Начните бесплатно на iOS и Android на одном из 22 языков.
Другие приложения CoddyKit
Доступно на iOS и Android.