C++ создан Бьярне Страуструпом в 1985 году как расширение языка C с объектно-ориентированной моделью. Компилируемый, статически типизированный, работает без runtime-прослойки — поэтому им пишут всё, где важна производительность: игровые движки Unreal и Unity (нативная часть), браузеры Chrome и Firefox, серверный код Google, торговые системы биржи, embedded-прошивки. Стандарт языка обновляется раз в три года (C++11 → C++14 → C++17 → C++20 → C++23), и современный C++ мало похож на язык из 90-х.

Порог входа высокий: указатели, ручное управление памятью, шаблоны, undefined behavior — всё это приходится держать в голове сразу. Но именно из-за глубины язык лучше остальных учит понимать, что происходит под капотом. Стоит идти в C++, если интересуют системный слой, игры, робототехника или высокопроизводительный бэкенд.

Ниже — десять ресурсов для старта: справочник, обучающие туториалы, книги, курсы и наборы упражнений.

cppreference.com

cppreference.com

Главный справочник по языку и стандартной библиотеке, поддерживаемый сообществом. Каждая функция и класс описаны с примерами, версионностью и ссылками на спецификацию. Открывать регулярно — замена официальной документации, у C++ Standard как раз с ней слабо.

LearnCpp

LearnCpp

Бесплатный туториал более чем из 250 уроков от Алекса, ведущего сайт с 2007 года. Полностью покрывает современный C++20/23 — от «Hello World» до шаблонов и умных указателей. Считается одним из лучших вводных ресурсов, регулярно рекомендуется в r/cpp.

isocpp.org — Getting Started

isocpp.org — Getting Started

Официальный портал ISO C++ Committee — тех, кто пишет стандарт. Собран список рекомендованных книг, тьюториалов и IDE прямо от разработчиков языка. Полезен как проверенный чек-лист «с чего начать» без риска нарваться на устаревший материал.

Programming: Principles and Practice Using C++ (Страуструп, 3-е изд., 2024)

Programming: Principles and Practice Using C++ (Страуструп, 3-е изд., 2024)

Книга автора языка, переиздание под C++20. Пишется для тех, кто программирует впервые в жизни — медленно, с объяснением базовых концепций, но именно на C++. Крупная, около 1000 страниц — но окупается качеством фундамента.

Codecademy — Learn C++

Codecademy — Learn C++

Интерактивный курс на 25 часов: код пишется в браузере, IDE ставить не надо. Хороший старт, чтобы попробовать язык без порога установки компилятора и настройки CMake. Базовые модули бесплатны, продвинутые по подписке.

Exercism — C++ Track

Exercism — C++ Track

Более 100 задач с автотестами и разбором от менторов. Пишешь код локально, отправляешь — получаешь ревью на идиоматичность (RAII, const-корректность, move-семантика). Полностью бесплатно.

freeCodeCamp — C++ Tutorial for Beginners

freeCodeCamp — C++ Tutorial for Beginners

Четырёхчасовой курс на YouTube от freeCodeCamp с Майком Дейном. Прогоняет базу: переменные, циклы, функции, классы, наследование, полиморфизм. Смотрится как визуальное дополнение к книге или learncpp.

C++ Primer (5-е издание)

C++ Primer (5-е издание)

Классическая книга Стэнли Липпмана, Жозе Лажойе и Барбары Му. Более 900 страниц, но пишется как учебник: разделы идут от простого к сложному с обязательными упражнениями. Стоит наравне с книгой Страуструпа как второй книжный ресурс.

GeeksforGeeks — C++

GeeksforGeeks — C++

Огромная библиотека статей и задач — удобно как быстрый справочник по конкретной теме или готовым алгоритмическим шаблонам. Особенно хорош для подготовки к техническим собеседованиям, где часто спрашивают структуры данных и алгоритмы.

Sololearn — C++ Introduction

Sololearn — C++ Introduction

Мобильное обучение — уроки в приложении на iOS/Android, короткие тесты, задачи. Подходит для повторения на ходу и как разбавка длинных сессий у монитора. Есть бесплатный уровень, продвинутый по подписке.