C++23 · на русском · в браузере
Станьразработчикомна C++
От первой строки до Telegram-бота с архитектурой, за которую не стыдно на собеседовании. Диагностика найдёт твой уровень — дальше только то, чего ты ещё не знаешь.
- Тем в графе знаний
- 42
- Модулей до бота
- 7
- Задач
- ∞
- Стандарт
- C++23
Проблема
Через неделю ты помнишь пятую часть прочитанного
Это не ты плохо учишься — так устроена память. Кривую забывания измерил Эббингауз ещё в 1885 году. Курсы, которые дают тему один раз и идут дальше, строят дом на песке: к модулю про классы ты уже не помнишь циклы.
Платформа возвращает каждый вопрос в тот момент, когда вероятность вспомнить падает до 90%. Повторений нужно всё меньше, а знание держится месяцами.
Метод
Не курс, а тренажёр: навык, а не конспект
- 01
Диагностика
10–18 адаптивных вопросов. Каждый ответ уточняет картину сразу по нескольким темам: граф знаний подсказывает, что ты уже умеешь, а что пропустил.
- 02
Теория порциями
Шаги по 3–5 минут. Посреди текста — вопросы на вспоминание: попытка вспомнить закрепляет сильнее, чем перечитывание. Примеры запускаются в один клик.
- 03
Лестница практики
Допиши → почини → напиши сам. Поддержка убирается постепенно, пока ты не пишешь без подсказок. Новые задачи генерируются, проверяются тестами и не кончаются.
- 04
Повторение по расписанию
Алгоритм FSRS считает момент повторения для каждого вопроса отдельно — ровно тогда, когда ты начинаешь забывать. Темы перемешаны: мозгу сложнее, памяти лучше.
Стандарт
Не C++ из девяностых
Многие курсы до сих пор учат char*, new[] и using namespace std. Мы учим C++23 и инструменты индустрии: CMake, vcpkg, тесты. Старое показываем, чтобы ты узнавал его в чужом коде.
Так учат во многих курсах
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char* name = new char[100];
cin >> name;
int* scores = new int[10];
for (int i = 0; i <= 10; i++)
scores[i] = i * 10;
printf("Hi, %s\n", name);
delete name; // а где delete[] scores?
}
- утечка памяти и выход за границы массива
- переполнение буфера, если имя длиннее 99 символов
- delete вместо delete[] — неопределённое поведение
Так пишут сейчас
#include <algorithm>
#include <iostream>
#include <print>
#include <ranges>
#include <string>
#include <vector>
int main() {
std::string name;
std::getline(std::cin, name);
auto scores = std::views::iota(0, 10)
| std::views::transform([](int i) { return i * 10; })
| std::ranges::to<std::vector>();
std::println("Привет, {}! Лучший: {}", name, std::ranges::max(scores));
}
- память управляется сама — утечек нет by design
- строка любой длины, границы под контролем
- намерение читается с первого взгляда
Маршрут
Шесть модулей до своего бота
42 тем, связанных пререквизитами. Ты не проходишь всё подряд — только то, чего не знаешь, в порядке, где каждая тема опирается на предыдущие. Уже открыто тем: 36, остальные в работе.
- 01Основы
Первые программы
Как устроена программа на C++, переменные, ввод-вывод, ветвления, циклы и функции. После модуля ты пишешь небольшие консольные программы сам, без подсказок.
- Первая программа
- Visual Studio: своя среда
- Переменные и типы
- Ввод и вывод
- Выражения и операторы
- Ветвления
- Циклы
- Функции
- Ссылки и const
- 02Данные
Контейнеры и алгоритмы
Контейнеры стандартной библиотеки, строки, структуры, лямбды и алгоритмы. Здесь C++ становится удобным: меньше ручной работы, больше выразительности.
- std::vector
- Строки
- Структуры
- Перечисления
- Словари
- std::optional
- Лямбды
- Алгоритмы и ranges
- 03Объекты
Классы и память
Классы с инвариантами, время жизни, RAII, умные указатели, перемещение, полиморфизм и шаблоны. То, что отличает C++ от других языков и делает его быстрым и надёжным.
- Классы
- Перегрузка операторов
- Время жизни и RAII
- Указатели
- Умные указатели
- Перемещение
- Наследование и полиморфизм
- std::variant
- Шаблоны и концепты
- 04Надёжность
Ошибки, файлы, тесты
Обработка ошибок, работа с файлами и тесты. Программа перестаёт падать от первого неожиданного ввода.
- Обработка ошибок
- Файлы
- Тесты
- 05Инженерия
Сборка и архитектура
Несколько файлов, CMake, сторонние библиотеки, JSON и архитектура. Как устроены настоящие проекты и почему именно так.
- Несколько файлов
- Пространства имён
- CMake
- Сторонние библиотеки
- JSON
- Как осваивать любую библиотеку
- Архитектура
- 06Проекты
Сеть, потоки и бот
Потоки, HTTP и Telegram-бот, собранный по правилам: ядро логики отдельно от транспорта, с тестами и нормальной структурой.
- Потоки
- HTTP и API
- Telegram-бот
- 07С ИИ
Кодим на C++ с ИИ
Claude Code как напарник: установка, настройка под проект и рабочий цикл, в котором ИИ ускоряет тебя, а не думает за тебя. Модуль стоит в конце намеренно: проверять ИИ может только тот, кто умеет сам.
- ИИ как напарник
- Claude Code: установка и настройка
- Рабочий цикл с ИИ
Наставник
ИИ, который не решает за тебя
Правильность решения проверяют тесты в песочнице, а не нейросеть. Наставник нужен, чтобы ты не застрял.
Объясняет ошибки компилятора
Простыми словами: что случилось, где и как починить. Без готового решения всей задачи.
Подсказывает, а не решает
Наводящие вопросы и лестница подсказок. Решение открывается только если ты сам решишь сдаться.
Ревью как от сеньора
После решения — разбор: что хорошо, что улучшить, как то же самое пишут в продакшене.
Начни сегодня
Регистрация не нужна: начни сейчас, аккаунт создашь, когда захочешь сохранить прогресс.