Добро пожаловать в курс по изучению C++! Этот курс разработан специально для новичков, которые хотят освоить язык программирования C++ с нуля.
Каждый урок — это отдельная папка с кратким конспектом (README.md) и рабочими примерами кода (.cpp). Вся сборка настроена через CMake.
Курс состоит из 22 основных уроков и 1 приложения (справочный материал), разбитых на логические блоки.
Цель курса: Научить писать консольные программы на C++, понимать основные структуры данных и алгоритмы, освоить базовое объектно-ориентированное программирование.
| № | Тема | Конспект | Код |
|---|---|---|---|
| 00 | Введение в C++. Обзор курса | README | — |
| 01 | Переменные и типы данных. Ввод/вывод. Константы | README | код |
| 02 | Ветвления (if, switch, тернарный оператор) |
README | код |
| 03 | Циклы (for, while, do-while, break, continue) |
README | код |
| 04 | Функции и рекурсия | README | код |
| № | Тема | Конспект | Код |
|---|---|---|---|
| 05 | Массивы (одномерные и многомерные) | README | код |
| 06 | Строки (std::string, getline) |
README | код |
| 07 | Векторы (std::vector) |
README | код |
| 08 | Структуры (struct) |
README | код |
| 09 | Стек и очередь (stack, queue) |
README | код |
| 10 | Связные списки (std::list) |
README | код |
| 11 | Множества (std::set) |
README | код |
| 12 | Словари (std::map) |
README | код |
| № | Тема | Конспект | Код |
|---|---|---|---|
| 13 | Указатели. Адресация памяти | README | код |
| 14 | Динамическая память (new / delete) |
README | код |
| 15 | Ссылки. Передача по ссылке | README | код |
| № | Тема | Конспект | Код |
|---|---|---|---|
| 16 | Классы и объекты. Конструкторы. Деструкторы | README | код |
| 17 | Наследование и полиморфизм | README | код |
| № | Тема | Конспект | Код |
|---|---|---|---|
| 18 | Шаблоны функций и классов | README | код |
| 19 | Алгоритмы STL (sort, find, лямбды) |
README | код |
| 20 | Динамическое программирование | README | код |
| 21 | Указатели на функции и лямбды | README | код |
| № | Тема | Конспект | Код |
|---|---|---|---|
| 22 | Многопоточность (std::thread, atomic) |
README | код |
| — | Приложение: Представление данных в памяти | README | код |
Курс рассчитан на стандарт C++17 и сборку через CMake.
- Компилятор C++ (GCC 9+, Clang 10+, MSVC 2019+)
- CMake 3.20+
- IDE (рекомендуется CLion)
- Откройте корневую папку курса в CLion.
- Дождитесь завершения загрузки CMake.
- В выпадающем списке конфигураций (справа сверху) выберите нужный пример (например,
variables). - Нажмите Shift+F10 (Run).
mkdir build && cd build
cmake ..
cmake --build .
./lesson-01-variables/variables
После прохождения курса вы сможете:
- Писать консольные программы на C++.
- Работать с переменными, условиями и циклами.
- Создавать и использовать функции, понимать рекурсию.
- Понимать указатели и ссылки.
- Работать с динамической памятью.
- Использовать стандартные контейнеры (
vector,set,map). - Писать классы и использовать наследование.
- Применять алгоритмы STL.
- Понимать динамическое программирование.
- Использовать указатели на функции и лямбды.
- Писать многопоточные программы.
MIT