C++ Templates. The Complete Guide, 2nd Edition / Шаблоны C++. Справочник разработчика, 2-е издание Год издания: 2018 Автор: Vandevoorde D., Josuttis N. / Вандевурд Д., Джосаттис Н. Издательство: Диалектика ISBN: 978-5-9500296-8-4 Язык: Русский Формат: PDF Качество: Отсканированные страницы + слой распознанного текста Интерактивное оглавление: Нет Количество страниц: 848 Описание: Наверняка вы знакомы с таким литературным приемом, как "роман в романе". Но это встречается не только в литературе, но и в программировании. Шаблоны в C++ — это, по сути, целый язык в языке (к тому же язык Тьюринг-полный), который достоин отдельных книг, и не просто книг — а шедевров. И это при том, что метапрограммирование — всего лишь одна из многих возможностей, предоставляемых программисту современными шаблонами C++. Одним из таких шедевров можно смело считать книгу, которую вы держите в руках. Несмотря на то что в заглавии скромно указано — "второе издание", это совершенно новая книга, отражающая тот факт, что за прошедшие со времени первого издания 15 лет произошло очень много изменений, и в первую очередь это кардинальные изменения самого языка C++, который стал еще более мощным орудием в руках программиста, позволяющим создавать существенно более производительные программы. Принятые со времени первого издания стандарты C++11, C++14 и C++17 не обошли стороной и шаблоны, сделав их еще более выразительным средством программирования, позволяющем создавать еще более эффективные (и эффектные с точки зрения эстетики программирования) программы. По сути, почти вся стандартная библиотека C++ построена на применении шаблонов. Авторы книги (которые не нуждаются в представлении) — Дэвид Вандевурд, Николаи Джосаттис и Дуглас Грегор — не зря потратили столько лет на работу над книгой. Это книга, описывающая работу с шаблонами C++ от азов до самых "темных закутков", в которые вряд ли придется заглядывать при повседневной работе даже самым искушенным программистам, которая будет одинаково полезна как программисту, желающему повысить свой начальный уровень умений и понимания шаблонов, так и профессиональному разработчику сложнейших шаблонных библиотек. Основы работы с шаблонами, шаблоны с параметрами, не являющимися типами, вариативные шаблоны, вопросы передачи аргументов в шаблоны, метапрограммирование, специализация и перегрузка, вывод аргументов, полиморфизм и наследование шаблонов, шаблоны выражений и даже возможности работы с шаблонами, которые должны появиться в следующем после C++17 стандарте языка — вряд ли найдется такая связанная с шаблонами тема, о которой можно было бы сказать, что она слабо освещена в этой книге. Книга рекомендуется в первую очередь для профессиональных программистов в качестве справочного пособия, но она будет полезна программистам на C++ любого уровня — каждый найдет в ней важный и нужный материал для себя. Книга предполагает знание читателем современного языка программирования C++. Шаблоны представляют собой одну из наиболее сильных сторон C++, но они все еще остаются недостаточно используемыми, а зачастую и неверно понимаемыми, несмотря на постоянно растущий уровень как языка C++, так и сообщества программистов на этом языке. Во втором издании книги три автора, являющиеся экспертами в данной области, показывают, зачем, когда и как использовать современные шаблоны, чтобы создавать программное обеспечение, более понятное, быстрое, эффективное и легко поддерживаемое. Данное издание описывает новые возможности стандартов C++11, C++14 и C++17 и демонстрирует последние достижения в области шаблонов C++ для создания широкого спектра приложений. Авторы подробно объясняют все новые возможности языка, которые улучшают шаблоны или взаимодействие с ними, рассматривая такие темы, как вариативные шаблоны, обобщенные лямбда-выражения, вывод аргументов шаблонов классов, конструкцию if времени компиляции, передаваемые ссылки и пользовательские литералы. Они также глубоко вникают в фундаментальные концепции языка (такие как категории значений) и полностью охватывают стандартные свойства типов. Книга начинается с основательного учебника, описывающего основные концепции и связанные с ними возможности языка программирования. Остальная часть книги служит всеобъемлющим справочником, уделяющим внимание как подробностям языка, так и методам кодирования, продвинутым технологиям и сложным идиомам программирования шаблонов C++. Множество примеров исходных текстов иллюстрируют абстрактные концепции и наилучшие практические подходы для получения от шаблонов C++ максимальной пользы. ++ Точное понимание поведений шаблонов, позволяющее избежать распространенных ловушек ++ Повторное использование кода без потерь производительности и безопасности ++ Применение шаблонов для разработки более эффективного, гибкого и сопровождаемого программного обеспечения ++ Преимущества использования утилит стандартной библиотеки C++ для обобщенного программирования ++ Изучение наиболее эффективных современных идиом и методов программирования ++ Предварительное знакомство с возможностями концептов в шаблонном программировании Файлы примеров кода и обновления находятся на веб-сайте книги tmplbook.com. Дэвид Вандевурд — вице-президент Edison Design Group, Inc., автор ключевых возможностей компилятора C++ этой компании. Будучи соучредителем известного форума comp.lang.c++.moderated, он также играет активную роль в стандартизации языка C++. Вандевурд имеет ученые степени в области компьютерных наук в Политехническом институте Ренсселаера и Свободном университете Брюсселя. Он занимается разработкой алгоритмов и преподаванием. Николаи Джосаттис — независимый системный архитектор, технический менеджер, консультант и преподаватель, более 20 лет активно участвующий в стандартизации C++. В рабочей группе, занимающейся стандартизацией библиотеки, он всегда заботится об интересах обычных прикладных программистов. Джосаттис хорошо известен в сообществе программистов C++, в частности как автор книги Стандартная библиотека C++ (пер. с англ, ИД "Вильямс", 2014 г.) и других тематических руководств. Дуглас Грегор — старший разработчик компилятора, работающий в области проектирования библиотек C++. Будучи одним из первых участников проекта Boost, он разработал несколько библиотек, которые позже стали частью стандарта C++. Кроме того, Грегор привел реализацию компилятора C++ с открытым исходным кодом Clang в соответствие со стандартом C++11 и был активным участником процесса стандартизации C++11. Он имеет ученую степень в области компьютерных наук Политехнического института Ренсселаера.
Примеры страниц
русский pdf: английский pdf:
Оглавление
Предисловие 22 О книге 27 Часть 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
[only-soft.org].t86037.torrent
Торрент:
Зарегистрирован
[ 2018-08-03 22:40 ]
30 KB
Статус:
√проверено
Скачан:
6 раз
Размер:
133 MB
Оценка:
(Голосов: 0)
Поблагодарили:
0
Vandevoorde D., Josuttis N. / Вандевурд Д., Джосаттис Н. - C++ Templates. The Complete Guide, 2nd Edition / Шаблоны C++. Справочник разработчика, 2-е издание [2018, PDF, RUS] скачать торрент бесплатно и без регистрации
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы