Книга: Шаблоны C++. Справочник разработчика
охватывает С++11, С++14 и С++17, 2-е изд.
Наверняка вы знакомы с таким литературным приемом, как "роман в романе". Но это встречается не только в литературе, но и в программировании. Шаблоны в 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. Он имеет ученую степень в области компьютерных наук Политехнического института Ренсселаера.
- Посмотреть все товары по теме: C_Plus_Plus
Подобные товары:
-
Параллельное программирование на C++ с помощью библиотеки TBB Восс М., Асенхо Р., Рейндерс Д. 12003585
товар в наличии
отгрузка: 21.041 957 руб.Параллельное программирование на C++ с помощью библиотеки TBB В КОРЗИНУ -
Функциональное программирование на C++ Чукич И. 11980913
товар в наличии
отгрузка: 21.041 305 руб.Функциональное программирование на C++ В КОРЗИНУ -
C++. Практика многопоточного программирования Уильямс Э.Д. 11977709
2-е изд.
товар в наличии
отгрузка: 21.041 911 руб.C++. Практика многопоточного программирования В КОРЗИНУ -
Программирование встроенных систем на C++ 17 Пош М. 11975494
товар в наличии
отгрузка: 21.041 295 руб.Программирование встроенных систем на C++ 17 В КОРЗИНУ -
Алгоритмы и программы. Язык C++ Конова Е.А., Поллак Г.А. 11975198
учебное пособие, 4-е изд., стер.
товар в наличии
отгрузка: 21.041 221 руб.Алгоритмы и программы. Язык C++ В КОРЗИНУ -
Программирование на C++. Курс лекций Литвиненко Н.А. 11964280
товар в наличии
отгрузка: 21.04541 руб.Программирование на C++. Курс лекций В КОРЗИНУ -
Идиомы и паттерны проектирования в современном С++ Пикус Ф.Г 11956707
товар в наличии
отгрузка: 21.041 305 руб.Идиомы и паттерны проектирования в современном С++ В КОРЗИНУ -
C++ за 21 день Рао С. 11956406
описан С++14 и С++17, 8-е изд.
товар в наличии
отгрузка: 21.041 335 руб.C++ за 21 день В КОРЗИНУ -
Оптимизация программ на C++ Гантерот К. 11945500
проверенные методы повышения производительности
товар в наличии
отгрузка: 21.041 335 руб.Оптимизация программ на C++ В КОРЗИНУ -
Реактивное программирование на C++ Пай П. 11933914
товар в наличии
отгрузка: 21.041 174 руб.Реактивное программирование на C++ В КОРЗИНУ -
C/C++. Программирование на языке высокого уровня Павловская Т.А. 11920412
товар в наличии
отгрузка: 21.041 542 руб.C/C++. Программирование на языке высокого уровня В КОРЗИНУ -
Программирование. Python. C++. Часть 1. Учебное пособие Поляков К.Ю. 11917699
товар в наличии
отгрузка: 21.04669 руб.Программирование. Python. C++. Часть 1. Учебное пособие В КОРЗИНУ -
Программирование. Python. C++. Часть 3. Учебное пособие Поляков К.Ю. 11917698
товар в наличии
отгрузка: 21.04669 руб.Программирование. Python. C++. Часть 3. Учебное пособие В КОРЗИНУ -
Программирование. Python. C++. Часть 4. Учебное пособие Поляков К.Ю. 11917697
товар в наличии
отгрузка: 21.04669 руб.Программирование. Python. C++. Часть 4. Учебное пособие В КОРЗИНУ -
Язык программирования C++ Страуструп Б. 11913834
краткий курс, 2-е изд.
товар в наличии
отгрузка: 21.04890 руб.Язык программирования C++ В КОРЗИНУ -
Алгоритмы на C++ Седжвик Р. 11910961
анализ структуры данных; Сортировка; Поиск; Алгоритмы на графах
товар в наличии
отгрузка: 21.042 670 руб.Алгоритмы на C++ В КОРЗИНУ -
Эффективный и современный C++ Мейерс С. 11907022
42 рекомендации по использованию C++11 и C++14
товар в наличии
отгрузка: 21.041 335 руб.Эффективный и современный C++ В КОРЗИНУ -
C++ Шилдт Г. 11905145
полное руководство, классическое издание
товар в наличии
отгрузка: 21.042 225 руб.C++ В КОРЗИНУ -
Программирование. Python. C++. Часть 2. Учебное пособие Поляков К.Ю. 11903254
товар в наличии
отгрузка: 21.04669 руб.Программирование. Python. C++. Часть 2. Учебное пособие В КОРЗИНУ -
C++: руководство для начинающих Шилдт Герберт 11897965
товар в наличии
отгрузка: 21.04712 руб.C++: руководство для начинающих В КОРЗИНУ -
Современное проектирование на C++ Александреску А. 11894223
товар в наличии
отгрузка: 21.04890 руб.Современное проектирование на C++ В КОРЗИНУ -
Стандарты программирования на C++ Александреску А., Саттер Г. 11894221
101 правило и рекомендация
товар в наличии
отгрузка: 21.04890 руб.Стандарты программирования на C++ В КОРЗИНУ -
Справочник программиста по C/C++ Шилдт Г. 11894136
3-е изд.
товар в наличии
отгрузка: 21.04800 руб.Справочник программиста по C/C++ В КОРЗИНУ -
Объектно-ориентированное программирование в С++ Лафоре Р. 11892421
4-е изд.
товар в наличии
отгрузка: 21.041 597 руб.Объектно-ориентированное программирование в С++ В КОРЗИНУ -
C++: базовый курс Шилдт Г. 11891724
3-е изд.
товар в наличии
отгрузка: 21.041 335 руб.C++: базовый курс В КОРЗИНУ -
Язык программирования C++. Базовый курс Липпман С.Б., Лажойе Ж., Му Б.Э. 11888618
5-е изд.
товар в наличии
отгрузка: 21.042 670 руб.Язык программирования C++. Базовый курс В КОРЗИНУ -
Язык программирования C++ Прата С. 11888617
лекции и упражнения; рассматривается новый стандарт С++11, 6-е изд.
товар в наличии
отгрузка: 21.042 670 руб.Язык программирования C++ В КОРЗИНУ -
Осваиваем C++17 STL О’Двайр А. 11887288
товар в наличии
отгрузка: 21.041 835 руб.Осваиваем C++17 STL В КОРЗИНУ -
C++ для "чайников" Дэвис С.Р. 11885203
7-е изд.
товар в наличии
отгрузка: 21.04712 руб.C++ для "чайников" В КОРЗИНУ -
Прикладное программирование на С/C++. С нуля до мультимедийных и сетевых приложений Иванов В. 11876321
товар в наличии
отгрузка: 21.04631 руб.Прикладное программирование на С/C++. С нуля до мультимедийных и сетевых приложений В КОРЗИНУ -
Qt 5.10. Профессиональное программирование на C++ Шлее Макс 11876036
товар в наличии
отгрузка: 21.041 148 руб.Qt 5.10. Профессиональное программирование на C++ В КОРЗИНУ -
Решение задач на современном C++ Бансила М. 11866701
товар в наличии
отгрузка: 21.041 043 руб.Решение задач на современном C++ В КОРЗИНУ -
С++17 STL. Стандартная библиотека шаблонов Галовиц Я. 11858643
товар в наличии
отгрузка: 21.041 377 руб.С++17 STL. Стандартная библиотека шаблонов В КОРЗИНУ -
Как написать безопасный код на C++, Java, Perl, PHP, ASP Виега Дж., Лебланк Д., Ховард М. 11836104
товар в наличии
отгрузка: 21.04651 руб.Как написать безопасный код на C++, Java, Perl, PHP, ASP В КОРЗИНУ -
Язык программирования C++ (стандарт C++11) Страуструп Б. 11787231
краткий курс
товар в наличии
отгрузка: 21.04337 руб.Язык программирования C++ (стандарт C++11) В КОРЗИНУ -
Гибкая разработка программ на Java и C++: принципы, паттерны и методики Мартин Р.С. 11773844
принципы, паттерны и методики
товар в наличии
отгрузка: 21.042 670 руб.Гибкая разработка программ на Java и C++: принципы, паттерны и методики В КОРЗИНУ -
Гибкая разработка программ на Java и C++: принципы, паттерны и методики Роберт C. Мартин 11770969
товар в наличии
отгрузка: 21.042 670 руб.Гибкая разработка программ на Java и C++: принципы, паттерны и методики В КОРЗИНУ -
Скользкие места С++ Дьюхэрст С.К. 11646141
как избежать проблем при проектировании и компиляции ваших программ
товар в наличии
отгрузка: 21.04587 руб.Скользкие места С++ В КОРЗИНУ -
Объектно-ориентированное программирование на C++ Васильев А.Н. 11495768
товар в наличии
отгрузка: 21.04470 руб.Объектно-ориентированное программирование на C++ В КОРЗИНУ -
Эффективное использование С++ Мэйерс С. 11495599
55 верных способов улучшить структуру и код ваших программ
товар в наличии
отгрузка: 21.041 018 руб.Эффективное использование С++ В КОРЗИНУ -
Программирование и отладка С/C++ приложений для микроконтроллеров ARM Магда Ю.С. 11492517
товар в наличии
отгрузка: 21.04456 руб.Программирование и отладка С/C++ приложений для микроконтроллеров ARM В КОРЗИНУ -
Управление электронными устройствами на С++ Бентли К., Катупития Я. 11488500
разработка практических приложений
товар в наличии
отгрузка: 21.04913 руб.Управление электронными устройствами на С++ В КОРЗИНУ -
Дизайн и эволюция языка С++ Страуструп Б. 11444014
товар в наличии
отгрузка: 21.04717 руб.Дизайн и эволюция языка С++ В КОРЗИНУ -
Наиболее эффективное использование C++ Мейерс С. 11297432
35 новых рекомендаций по улучшению ваших программ и проектов
товар в наличии
отгрузка: 21.04651 руб.Наиболее эффективное использование C++ В КОРЗИНУ -
Параллельное программирование на С++ в действии Уильямс Э.Д. 11297431
практика разработки многопоточных программ
товар в наличии
отгрузка: 21.041 305 руб.Параллельное программирование на С++ в действии В КОРЗИНУ -
Эффективное программирование на C++ Му Б.Э., Кениг Э. 11285509
практическое программирование на примерах
товар в наличии
отгрузка: 21.041 201 руб.Эффективное программирование на C++ В КОРЗИНУ -
Изучаем C++ через программирование игр Доусон М. 11148421
товар в наличии
отгрузка: 21.04762 руб.Изучаем C++ через программирование игр В КОРЗИНУ -
Программирование: принципы и практика с использованием C++ Страуструп Б. 11145318
описан С++11 и С++14, 2-е изд.
товар в наличии
отгрузка: 21.043 115 руб.Программирование: принципы и практика с использованием C++ В КОРЗИНУ -
Язык C++ и объектно-ориентированное программирование в C++. Лабораторный практикум Ашарина И.В., Крупская Ж.Ф. 11102524
учебное пособие для вузов
товар в наличии
отгрузка: 21.04449 руб.Язык C++ и объектно-ориентированное программирование в C++. Лабораторный практикум В КОРЗИНУ -
Программист-фанатик Фаулер Ч. 10925650
товар в наличии
отгрузка: 21.04480 руб.Программист-фанатик В КОРЗИНУ
В этой категории:
-
C++ для профи Лоспинозо Д 12030556
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12030556 C++ для профи2 529 руб.C++ для профи В КОРЗИНУ -
C# 8 и .NET Core. Разработка и оптимизация Прайс М.Дж 12030141
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12030141 C# 8 и .NET Core. Разработка и оптимизация2 681 руб.C# 8 и .NET Core. Разработка и оптимизация В КОРЗИНУ -
Паттерны проектирования для C# и платформы .NET Core Арораа Г., Чилберто Д. 12029103
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12029103 Паттерны проектирования для C# и платформы .NET Core2 596 руб.Паттерны проектирования для C# и платформы .NET Core В КОРЗИНУ -
Как программировать на С++ Дейтел П.Дж., Дейтел Х.М. 12022008
8-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12022008 Как программировать на С++1 021 руб.Как программировать на С++ В КОРЗИНУ -
Как программировать на С Дейтел П.Дж., Дейтел Х.М. 12022007
7-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12022007 Как программировать на С1 021 руб.Как программировать на С В КОРЗИНУ -
Изучаем C++ через программирование игр Доусон М. 12015108
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12015108 Изучаем C++ через программирование игр815 руб.Изучаем C++ через программирование игр В КОРЗИНУ -
Разработка приложений на С++ с использованием Boost Полухин А. 12008662
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12008662 Разработка приложений на С++ с использованием Boost2 039 руб.Разработка приложений на С++ с использованием Boost В КОРЗИНУ -
Параллельное программирование на C++ с помощью библиотеки TBB Восс М., Асенхо Р., Рейндерс Д. 12003585
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12003585 Параллельное программирование на C++ с помощью библиотеки TBB1 957 руб.Параллельное программирование на C++ с помощью библиотеки TBB В КОРЗИНУ -
Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование Клири С. 11999028
2-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11999028 Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование1 442 руб.Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование В КОРЗИНУ -
Функциональное программирование на C++ Чукич И. 11980913
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11980913 Функциональное программирование на C++1 305 руб.Функциональное программирование на C++ В КОРЗИНУ