Шаблоны C++. Справочник разработчика. 2-е издание

Шаблоны C++. Справочник разработчика. 2-е издание
%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B+C%2B%2B.+%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0.+2-%D0%B5+%D0%B8%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5 - фото 1
1 000 грн 850 грн
78333
ISBN
978-5-9500296-8-4
Издательство
Вильямс
Оригинальное название
C++ Templates, 2nd Edition
Номер издания
2-е изд.
Год
2018
Страниц
848
Формат
70х100 1/16 (170х240 мм)
Обложка 
Твердая
Тип бумаги 
Офсет
Язык
Русский
Вес, г
1215
Файлы для скачивания
Полное содержание
Читать фрагмент
3 человека
  • По ХарьковуДоставка курьером - 70 грн
    Бесплатно - от 2000 грн
  • По УкраинеБесплатно - от 2000 грн
    Новая Почта - от 40 грн
    Укрпочта - от 30 грн
  • Международная доставкаУкрпочта...
Подробнее о доставке

Наверняка вы знакомы с таким литературным приемом, как "роман в романе". Но это встречается не только в литературе, но и в программировании. Шаблоны в 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. Он имеет ученую степень в области компьютерных наук Политехнического института Ренсселаера.

Предисловие 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

Товар входит в категории

Вы можете купить книгу с доставкой курьером новой поштой укрпочтой Кривой Рог, Львов, Полтава, Житомир, Черкассы, Харьков, Чернигов, Винница, Тернополь, Киев, Луцк, Ровно, Хмельницкий, Херсон, Кировоград, Николаев, Днепропетровск, Ужгород, Запорожье, Суммы, Черновцы, Одесса, Ивано-франковск, другие города Украины. только в нашем магазине низкие цены, возможен торг, прямые поступления от издательства,книги под заказ, печать книг на заказ, компьютерные книги на английском языке.

Ви можете купити придбати книгу з доставкою кур'єром нова пошта Укрпошта Кривий Ріг, Львів, Полтава, Житомир, Харків, Чернігів, Вінниця, Тернопіль, Київ, Луцьк, Рівне, Хмельницький, Херсон, Кіровоград, Миколаїв, Дніпропетровськ, Ужгород , Запоріжжя, Суми, Чернівці, Черкаси, Одеса, Івано-франківськ, інші міста України. тільки в нашому магазині низькі ціни, можливий торг, прямі надходження від видавництва, книги під замовлення, друк книг на замовлення, комп'ютерні книги англійською мовою.