Значок приложения Учить C++ - Курс Кода

Учить C++ - Курс Кода

Образование · Бесплатно · iOS & Android · CoddyKit

Учить C++ - Курс Кода — Пишите, компилируйте и запускайте код на C++ прямо с телефона

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

App Store — Скачать бесплатноGoogle Play — Скачать бесплатно
Цена
Бесплатно, обновление до Pro
Платформы
iOS и Android
Языки
22
Возрастной рейтинг
4+
Требуется
iOS 15.1 или новее
App Store
4.9 ★ (7)
Главный экран приложения для C++ на арабском языке: кнопка «Начать первый урок», ежедневная цель, обратный отсчёт до World Coding Challenge и ярлыки «Спросить наставника» и «Создать урок»Вкладка Challenge в интерфейсе на арабском языке с World Coding Challenge, заданием по C++ из активного курса и возможностью присоединиться по коду
51Курсы и более 200 уроков
GCCНастоящий компилятор в редакторе
3 в деньТри ежедневные практики
Указатели страшны только до двенадцатого урока.

У C++ репутация языка, которому невозможно научиться, но во многом это потому, что новичкам сразу показывают всё: ownership, heap, templates и STL с самого первого дня. В 51 коротком курсе тот же материал раскрывается постепенно, уровень за уровнем, а каждая идея завершается кодом, который вы сами компилируете и запускаете.

Что это

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

В приложении

Как это выглядит

Главный экран приложения для C++ на арабском языке: кнопка «Начать первый урок», ежедневная цель, обратный отсчёт до World Coding Challenge и ярлыки «Спросить наставника» и «Создать урок»
ГлавнаяНа главном экране отображаются карточка курса с кнопкой запуска, ежедневная цель и обратный отсчёт до следующего раунда World Coding Challenge, а также ярлыки для AI-наставника и создания уроков. На скриншоте используется интерфейс на арабском языке.
Вкладка Challenge в интерфейсе на арабском языке с World Coding Challenge, заданием по C++ из активного курса и возможностью присоединиться по коду
Вкладка ChallengeВкладка Challenge открывает World Coding Challenge, позволяет начать матч из активного курса C++, просматривать другие задания или присоединиться к матчу по коду.
Экран профиля в интерфейсе на арабском языке со счётчиком ежедневной серии, тепловой картой активности за 90 дней и сеткой значков достижений
Серия и значкиПрофиль отслеживает ежедневную серию, тепловую карту активности за 90 дней и значки достижений — именно это помогает регулярно заниматься короткими сессиями.
AI chat screen asking How can I help you, with suggested prompts to explain the key concepts, give tips, quiz you and create a learning roadmap
AI chatThe AI chat answers questions and starts from suggestions: explain the key concepts, share tips, quiz you or build a learning roadmap.
Learn C++ home screen with the C++ Academy course card, Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub
HomeThe home screen up close: the C++ Academy course card with Start First Lesson, a daily goal ring, a Feature Request row and the Skill Hub.

Курс

Что входит в курс C++

51 курс из собственной учебной программы приложения — от первой скомпилированной программы до lock-free concurrency и корутин.

  1. Синтаксис, строки и управление потоком выполнения

    Настройка компилятора и запуск первой программы, затем переменные и выведение типов, std::string и C-style массивы char, потоки ввода и вывода, а также конструкции управления потоком выполнения, на которых основаны все последующие курсы.

  2. Структуры, векторы и мини-проекты

    Знакомство со структурами и классами, работа с числами и математикой, векторы и динамические массивы, передача по ссылке и небольшие практические проекты, объединяющие все эти элементы.

  3. Память, RAII и более безопасные альтернативы сырым указателям

    Модель памяти «стек против кучи», RAII и управление ресурсами, обработка исключений и noexcept, корректность const, безопасное использование указателей и умные указатели как современная замена ручным new и delete.

  4. Современные типы, контейнеры и объектно-ориентированное проектирование

    Перечисления, объединения и std::variant, std::optional и std::expected, std::string_view и std::span, ассоциативные контейнеры и хеширование unordered_map, наследование и полиморфизм, а также перегрузка операторов для пользовательских типов.

  5. Инструменты сборки, работа с файлами и стандартная библиотека

    Сборка с помощью CMake и управление пакетами, файловый ввод-вывод с fstream, библиотека chrono для работы со временем и сопоставление с шаблонами с помощью заголовка regex — всё, что связывает код с файловой системой и часами.

  6. STL и современный C++ от C++11 до C++20

    Обзор изменений от C++11 до C++20, семантика перемещения и rvalue-ссылки, лямбды и std::function, алгоритмы STL, итераторы и ranges, а также отладка с помощью санитайзеров.

  7. Шаблоны, производительность и системное программирование

    Примитивы конкурентности, специализация шаблонов и SFINAE, продвинутые шаблоны и метапрограммирование, концепты C++20, профилирование производительности и проектирование публичного API библиотеки.

  8. Продвинутая конкурентность и корутины

    Lock-free программирование и атомарные операции для случаев, когда mutex слишком медленный, а также корутины C++20 — самое новое дополнение к языку, которое изучается последним, поскольку всё предыдущее является необходимой базой.

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

Как проходит занятие по C++

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

  1. Прочитайте короткий урок

    Откройте курс и пройдите один урок по определённой теме — например, о struct, reference или smart pointer. Первый курс бесплатный, поэтому вы сможете оценить формат уроков, прежде чем что-либо решать.

  2. Напишите, скомпилируйте и запустите код

    Введите код в мобильном редакторе и запустите его. Настоящий компилятор GCC соберёт программу и вернёт результат и код завершения, а для программ, которые считывают данные из cin, будет доступно поле для ввода. Поскольку компилятор работает удалённо, для запуска кода требуется подключение.

  3. Поддерживайте форму с ежедневными упражнениями и 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 языков.

App Store — Скачать бесплатноGoogle Play — Скачать бесплатно
Последняя проверка · Опубликовано CoddyKit · Политика конфиденциальности
Доступно на iOS и Android.