C++ для начинающих
От первой программы до классов, умных указателей, шаблонов и итогового проекта. Задачи с автопроверкой запускаются прямо в браузере.
- Встроенные типы и их размерыТеория
- Инициализация: =, () и {}Теория
- Тест — какая инициализация не скомпилируетсяТест
- const и constexprТеория
- Тест — что можно изменитьТест
- Задача: перевод температурЗадача
- auto, область видимости и время жизниТеория
- Тест — какая переменная виднаТест
- Тест — static внутри функцииТест
- Задача: счётчик вызововЗадача
- Арифметика: целочисленное деление, остаток, переполнениеТеория
- Тест — 7 / 2 и −7 % 3Тест
- Сравнения, логика, ++ и --Теория
- Тест — вызовется ли функцияТест
- Побитовые операторы, тернарный оператор и приоритетТеория
- Тест — приоритет операторовТест
- Задача: сумма цифр трёхзначного числаЗадача
- Задача: флаги в битахЗадача
- Объявление и определениеТеория
- Параметры: по значению и по ссылкеТеория
- Тест — копия или ссылкаТест
- Тест — ссылка на локальную переменнуюТест
- Задача: поменять местамиЗадача
- Перегрузка и аргументы по умолчаниюТеория
- Тест — какую перегрузку выберет компиляторТест
- Задача: площадь фигурЗадача
- Лямбды: первое знакомствоТеория
- Тест — что захватит лямбдаТест
- Задача: НОД и НОКЗадача
- Сложность: O(1), O(n), O(n log n)Теория
- Тест — какая сложностьТест
- sort, find, count, accumulate и лямбдыТеория
- Тест — компаратор для sortТест
- Бинарный поиск и рекурсияТеория
- Тест — базовый случай рекурсииТест
- Задача: бинарный поискЗадача
- Задача: сортировка по ключуЗадача
- Задача: быстрое возведение в степеньЗадача
- struct, class и доступТеория
- Конструкторы и список инициализацииТеория
- Тест — порядок инициализации полейТест
- Деструктор, правило нуля и const-методыТеория
- Тест — const-методТест
- Задача: банковский счётЗадача
- НаследованиеТеория
- virtual, override и полиморфизмТеория
- Тест — производный объект по значениюТест
- Тест — что проверяет overrideТест
- Тест — dynamic_castТест
- Задача: фигуры с виртуальной площадьюЗадача
- Задача: класс IntStackЗадача
- Стек и куча; new и deleteТеория
- Тест — обращение к объекту после deleteТест
- Тест — виртуальный деструкторТест
- RAIIТеория
- Тест — new и ранний returnТест
- std::unique_ptr и std::moveТеория
- Тест — unique_ptrТест
- std::shared_ptr и weak_ptrТеория
- Тест — shared_ptrТест
- Задача: ScopeGuardЗадача
- Задача: владеющий буфер на unique_ptrЗадача
- Задача: плейлист из общих песенЗадача
- Шаблоны функцийТеория
- Вывод аргументов шаблонаТеория
- Тест — вывод аргументовТест
- Задача: обобщённый maxЗадача
- Шаблоны классов и специализацияТеория
- Тест — шаблоныТест
- Тест — какая специализация будет выбранаТест
- Задача: шаблон PairЗадача
- Вариативные шаблоны: первое знакомствоТеория
- Тест — sizeof...Тест
- Задача: накопитель суммыЗадача
- Потоки: зачем и какТеория
- Тест — забытый joinТест
- Гонка данных, мьютекс и lock_guardТеория
- Тест — что не так с ++counterТест
- Тест — где освободится мьютексТест
- Тест — два мьютекса в разном порядкеТест
- std::atomicТеория
- async, future и время: chronoТеория
- Тест — когда выполнится std::asyncТест
- Задача: таймер обратного отсчётаЗадача