Курс на Stepik
Обложка курса «Функциональное программирование на С++» на Stepik
990 ₽

Функциональное программирование на С++ ★ 5.000

Открыть на
STEPIK.ORG

Практический курс по функциональному программированию в C++: от чистых функций и лямбд до ranges, композиции и error handling. Без абстрактной теории — только применимый стиль, современные инструменты и реальные задачи с рефакторингом.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Функциональное программирование на С++»Учеников на курсе 21
Сертификаты, выданные на курсе «Функциональное программирование на С++»Сертификатов выдано 1
Отзывы о курсе «Функциональное программирование на С++»Отзывов получено 1
Рейтинг курса «Функциональное программирование на С++»Рейтинг курса 5.000
Уроки в курсе «Функциональное программирование на С++»Количество уроков 67
Тесты в курсе «Функциональное программирование на С++»Количество квизов 48
Задачи с кодом в курсе «Функциональное программирование на С++»Количество задач с кодом 65
Время прохождения курса «Функциональное программирование на С++»Время прохождения курса —
Стоимость курса «Функциональное программирование на С++»Стоимость курса 990 ₽ —
Обновления курса «Функциональное программирование на С++»Обновления курса — —
Дата публикации курса «Функциональное программирование на С++»Дата публикации курса — ———
Последнее обновление курса «Функциональное программирование на С++»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «Функциональное программирование на С++» 13 разделов Уроки в курсе «Функциональное программирование на С++» 67 уроков Тесты в курсе «Функциональное программирование на С++» 48 тестов Задачи в курсе «Функциональное программирование на С++» 65 задач Время прохождения курса «Функциональное программирование на С++» 0 ч. Последнее обновление курса «Функциональное программирование на С++» обн. 25 апреля 2026

О функциях

6 уроков
1. Определение функции ↗
2. Возвращаемое значение ↗
3. Передача аргументов ↗
4. Перегрузка функций ↗
5. Inline и ODR ↗
6. Области видимости ↗

Функции как значение

6 уроков
1. Указатели на функции ↗
2. std::function ↗
3. Функциональные объекты ↗
4. Шаблонные параметры-функции ↗
5. auto и вывод типа возвращаемого значения ↗
6. Практика ↗

Лямбда-выражения

6 уроков
1. Синтаксис ↗
2. Захват переменных ↗
3. mutable-лямбды ↗
4. Время жизни и dangling capture ↗
5. Generic lambdas ↗
6. Практика ↗

Чистые функции и неизменяемость

7 уроков
1. Что такое чистая функция ↗
2. Побочные эффекты ↗
3. Концепция неизменяемых данных ↗
4. const как инструмент FP ↗
5. Value semantics ↗
6. Copy vs Move и их роль ↗
7. Практика ↗

Алгоритмы вместо циклов

6 уроков
1. Идея декларативности ↗
2. std::for_each, transform, count_if ↗
3. min/max/minmax ↗
4. partition и remove-идиома ↗
5. reduce / accumulate ↗
6. Практика ↗

Функции высшего порядка

6 уроков
1. Передача функций ↗
2. Возврат функций ↗
3. Частичное применение ↗
4. std::bind и почему его не любят ↗
5. Композиция функций ↗
6. Практика ↗

Ranges и ленивые вычисления

7 уроков
1. Проблема промежуточных контейнеров ↗
2. std::ranges ↗
3. Views ↗
4. Ленивость vs eager ↗
5. Dangling views ↗
6. Пайплайны обработки данных ↗
7. Практика ↗

Функциональная композиция

5 уроков
1. Pipe-style обработка ↗
2. Создание собственных адаптеров ↗
3. Каррирование ↗
4. Compile-time композиция ↗
5. Практика ↗

Error handling в функциональном стиле

6 уроков
1. Почему исключения плохо сочетаются с FP ↗
2. std::optional ↗
3. std::expected ↗
4. Монадический стиль обработки ↗
5. map / and_then / transform_error ↗
6. Практика ↗

Локализация побочных эффектов

5 уроков
1. Разделение чистой логики и IO ↗
2. Dependency injection ↗
3. Тестирование чистых функций ↗
4. Императивная оболочка + функциональное ядро ↗
5. Практика ↗

Границы FP в C++

4 урока
1. Когда FP усложняет код ↗
2. Производительность и cost model ↗
3. Читаемость vs абстракция ↗
4. Баланс FP и OOP ↗

Итоговые задания

2 урока
1. Финальные задачи ↗
2. Рефакторинг ↗

Больше практики

1 урок
1. ↗