Иван Чукич - Функциональное программирование на языке C++
Название: | Функциональное программирование на языке C++ | |
Автор: | Иван Чукич | |
Жанр: | C, C++, C# | |
Изадано в серии: | неизвестно | |
Издательство: | ДМК Пресс | |
Год издания: | 2020 | |
ISBN: | 978-5-97060-781-7 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Функциональное программирование на языке C++"
Язык С++ обычно ассоциируется с объектно-ориентированным программированием. Автор книги доказывает, что на С++ так же удобно создавать программы и в функциональном стиле. Это дает ряд преимуществ, повышая удобство кода и снижая вероятность возникновения ошибок. Книга разделена на две части. В первой читатель знакомится с азами функционального программирования: основными идиомами и способами их воплощения в языке C++. Вторая часть затрагивает более сложные аспекты и посвящена собственно разработке программ с использованием функционального подхода. Издание предназначено для опытных разработчиков на С++, желающих расширить границы использования этого языка и повысить эффективность работы.
Читаем онлайн "Функциональное программирование на языке C++". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (39) »
Алгебраические типы данных и сопоставление с образцом.............. 226
Монады................................................................................................... 254
Метапрограммирование на шаблонах................................................. 284
Функциональный дизайн параллельных систем................................ 309
Тестирование и отладка........................................................................ 338
Содержание
Предисловие..........................................................................................................12
Благодарности.....................................................................................................14
Об этой книге.......................................................................................................15
Об авторе.............................................................................................................21
1
Введение в функциональное программирование............22
1.1
1.2
1.3
1.4
1.5
Что такое функциональное программирование.....................23
1.1.1
Соотношение функционального программирования
с объектно-ориентированным...............................................25
1.1.2 Сравнение императивной и декларативной парадигм
на конкретном примере.........................................................25
Чистые функции.............................................................................31
1.2.1 Устранение изменяемого состояния......................................34
Функциональный стиль мышления...........................................36
Преимущества функционального программирования.........38
1.4.1 Краткость и удобочитаемость кода.....................................39
1.4.2 Параллельная обработка и синхронизация............................41
1.4.3 Непрерывная оптимизация....................................................42
Эволюция C++ как языка функционального
программирования........................................................................42
1.6 Что узнает читатель из этой книги............................................44
Итоги...........................................................................................................45
2
Первые шаги в функциональном
программировании. .........................................................................47
2.1
2.2
Функции с аргументами-функциями........................................48
Примеры из библиотеки STL.......................................................50
2.2.1
Вычисление средних.................................................................51
Содержание
7
Свертки...................................................................................53
Удаление лишних пробелов......................................................58
Разделение коллекции по предикату.......................................60
Фильтрация и преобразование...............................................62
2.3 Проблема композиции алгоритмов из библиотеки STL.......64
2.4 Создание своих функций высшего порядка............................66
2.4.1 Передача функции в качестве аргумента..............................66
2.4.2 Реализация на основе циклов..................................................67
2.4.3 Рекурсия и оптимизация хвостового вызова.........................68
2.4.4 Реализация на основе свертки................................................72
Итоги...........................................................................................................74
2.2.2
2.2.3
2.2.4
2.2.5
3
Функциональные объекты...........................................................75
3.1
3.2
3.3
3.4
Функции и функциональные объекты......................................76
Автоматический вывод возвращаемого типа.......................76
Указатели на функции............................................................80
Перегрузка операции вызова...................................................81
Обобщенные функциональные объекты..................................84
Лямбда-выражения и замыкания. .............................................86
3.2.1 Синтаксис лямбда-выражений...............................................88
3.2.2 Что находится у лямбда-выражений «под капотом»............89
3.2.3 Создание лямбда-выражений с произвольными
переменными-членами............................................................92
3.2.4 Обобщенные лямбда-выражения............................................94
Как сделать функциональные объекты еще лаконичнее......95
3.3.1 Объекты-обертки над операциями в стандартной
библиотеке..............................................................................98
3.3.2 Объекты-обертки над операциями в сторонних
библиотеках.......................................................................... 100
3.1.1
3.1.2
3.1.3
3.1.4
Обертка над функциональными объектами – класс
std::function................................................................................... 103
Итоги......................................................................................................... 105
4
Средства создания новых функций из имеющихся..... 107
4.1
4.2
Частичное применение функций............................................. 108
4.1.1
Универсальный механизм превращения бинарных
функций в унарные................................................................ 110
4.1.2 Использование функции std::bind для фиксации значений
некоторых аргументов функции.......................................... 114
4.1.3 Перестановка аргументов бинарной функции.................... --">
- 1
- 2
- 3
- 4
- . . .
- последняя (39) »
Книги схожие с «Функциональное программирование на языке C++» по жанру, серии, автору или названию:
С. М. Соколов, А. А. Богуславский - Основы программирования на языке Си++ Жанр: Современные российские издания Год издания: 2002 |
Тамара Игоревна Немцова, Светлана Юрьевна Голова, Алексей Игоревич Терентьев - Программирование на языке высокого уровня. Программирование на языке С++. Учебное пособие Жанр: C, C++, C# Год издания: 2023 Серия: Среднее профессиональное образование |
Марина Валентиновна Огнева, Елена Вячеславовна Кудрина - Программирование на языке C++: практический курс: учебное пособие для вузов Жанр: C, C++, C# Год издания: 2022 Серия: Высшее образование |