Шаблоны C++

Справочник разработчика.

Дэвид Вандевурд, Николаи М. Джосаттис, Дуглас Грегор «Шаблоны C++» Диалектика, 2018 год, 848 стр. 2-е издание, ISBN 978-5-9500296-8-4; (43,6 мб. pdf + 0,12 мб. code)

Первое издание этой книги было опубликовано 15 лет назад. Это было полное руководство по шаблонам C++, и оно было полезно для практикующих программистов C++. Но, оно уже устарело. Несмотря на то, что большая часть изложенного в нем материала полностью соответствует парадигмам языка,»современный C++» должен соответствовать стандартам С++11, С++14 и С++17.

Во втором издании изложение материала базируется в первую очередь на методиках и стандартах языка C++, принятых в 2011, 2014 и 2017 годах. Все упомянутые стандарты ока­
зали существенное влияние на использование шаблонов и технологий, отличных от предлагавшихся более ранними версиями.

Примеры и приложения помогут разобраться в тонкостях кода, изучать шаблоны проектирования и применять их для конкретных практических целей. Таким образом обеспечивается доступность представленного в руководстве материала как для квалифицированных специалистов, так и для программистов среднего уровня.

ISBN 978-5-9500296-8-4 (рус.)
ISBN 978-0-321-71412-1 (англ.)

Оглавление книги

Содержание.

Часть I. Основы 35
Глава 1. Шаблоны функций 37
Глава 2. Шаблоны классов 57
Глава 3. Нетиповые параметры шаблонов 79
Глава 4. Вариативные шаблоны 89
Глава 5. Основы работы с шаблонами 101
Глава 6. Семантика перемещения и enable_if<> 125
Глава 7. По значению или по ссылке? 141
Глава 8. Программирование времени компиляции 159
Глава 9. Применение шаблонов на практике 173
Глава 10. Основные термины в области шаблонов 189
Глава 11. Обобщенные библиотеки 197

Часть II. Углубленное изучение шаблонов 217
Глава 12. Вглубь шаблонов 219
Глава 13. Имена в шаблонах 261
Глава 14. Инстанцирование 293
Глава 15. Вывод аргументов шаблона 321
Глава 16. Специализация и перегрузка 379
Глава 17. Дальнейшее развитие 409

Часть III. Шаблоны и проектирование 425
Глава 18. Полиморфная мощь шаблонов 427
Глава 19. Реализация свойств типов 443
Глава 20. Перегрузка свойств типов 525
Глава 21. Шаблоны и наследование 551
Глава 22. Статический и динамический полиморфизм 581
Глава 23. Метапрограммирование 593
Глава 24. Списки типов 613
Глава 25. Кортежи 637
Глава 26. Контролируемые объединения 665
Глава 27. Шаблоны выражений 693
Глава 28. Отладка шаблонов 715

Приложения.
Приложение А. Правило одного определения 727
Приложение Б. Категории значений 737
Приложение В. Разрешение перегрузки 745
Приложение Г. Стандартные утилиты для работы с типами 761
Приложение Д. Концепты 803
Библиография 815
Глоссарий 821
Предметный указатель 833

СкачатьPDF

Похожая литература