Книга: Шаблоны 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. Дэвид Вандевурд — вице-президент 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
Подобные товары:
-
Параллельное программирование на современном С++ Гримм Р. 12118250
Must know параллельного программирования
товар в наличии
отгрузка: 30.042 869 руб.Параллельное программирование на современном С++ В КОРЗИНУ -
Прикладное программирование на C/C++: с нуля до мультимедийных и сетевых приложений Иванов В.Б. 12073161
товар в наличии
отгрузка: 30.04717 руб.Прикладное программирование на C/C++: с нуля до мультимедийных и сетевых приложений В КОРЗИНУ -
Параллельное программирование на C++ с помощью библиотеки TBB Восс М., Асенхо Р., Рейндерс Д. 12003585
товар в наличии
отгрузка: 30.042 869 руб.Параллельное программирование на C++ с помощью библиотеки TBB В КОРЗИНУ -
Функциональное программирование на C++ Чукич И. 11980913
товар в наличии
отгрузка: 30.041 865 руб.Функциональное программирование на C++ В КОРЗИНУ -
Программирование встроенных систем на C++ 17 Пош М. 11975494
товар в наличии
отгрузка: 30.041 865 руб.Программирование встроенных систем на C++ 17 В КОРЗИНУ -
Идиомы и паттерны проектирования в современном С++ Пикус Ф. 11956707
товар в наличии
отгрузка: 30.041 865 руб.Идиомы и паттерны проектирования в современном С++ В КОРЗИНУ -
C++ за 21 день Сиддхарта Рао 11956406
описан С++14 и С++17, 8-е изд.
товар в наличии
отгрузка: 30.043 469 руб.C++ за 21 день В КОРЗИНУ -
Реактивное программирование на C++ Пай П. 11933914
товар в наличии
отгрузка: 30.041 721 руб.Реактивное программирование на C++ В КОРЗИНУ -
Программирование. Python. C++. Часть 1. Учебное пособие Поляков К.Ю. 11917699
товар в наличии
отгрузка: 30.04687 руб.Программирование. Python. C++. Часть 1. Учебное пособие В КОРЗИНУ -
Программирование. Python. C++. Часть 3. Учебное пособие Поляков К.Ю. 11917698
товар в наличии
отгрузка: 30.04687 руб.Программирование. Python. C++. Часть 3. Учебное пособие В КОРЗИНУ -
Программирование. Python. C++. Часть 4. Учебное пособие Поляков К.Ю. 11917697
товар в наличии
отгрузка: 30.04687 руб.Программирование. Python. C++. Часть 4. Учебное пособие В КОРЗИНУ -
Язык программирования C++ Страуструп Б. 11913834
краткий курс, 2-е изд.
товар в наличии
отгрузка: 30.041 369 руб.Язык программирования C++ В КОРЗИНУ -
Алгоритмы на C++ Седжвик Роберт 11910961
анализ структуры данных; Сортировка; Поиск; Алгоритмы на графах
товар в наличии
отгрузка: 30.045 478 руб.Алгоритмы на C++ В КОРЗИНУ -
Эффективный и современный C++ Мейерс С. 11907022
42 рекомендации по использованию C++11 и C++14
товар в наличии
отгрузка: 30.041 643 руб.Эффективный и современный C++ В КОРЗИНУ -
C++ Шилдт Г. 11905145
полное руководство, классическое издание
товар в наличии
отгрузка: 30.043 195 руб.C++ В КОРЗИНУ -
Программирование. Python. C++. Часть 2. Учебное пособие Поляков К.Ю. 11903254
товар в наличии
отгрузка: 30.04408 руб.Программирование. Python. C++. Часть 2. Учебное пособие В КОРЗИНУ -
Объектно-ориентированное программирование в С++ Лафоре Р. 11892421
4-е изд.
товар в наличии
отгрузка: 30.042 392 руб.Объектно-ориентированное программирование в С++ В КОРЗИНУ -
C++: базовый курс Шилдт Г 11891724
3-е изд.
товар в наличии
отгрузка: 30.042 099 руб.C++: базовый курс В КОРЗИНУ -
Язык программирования C++ Прата С. 11888617
лекции и упражнения; рассматривается новый стандарт С++11, 6-е изд.
товар в наличии
отгрузка: 30.043 652 руб.Язык программирования C++ В КОРЗИНУ -
Осваиваем C++17 STL О'Двайр А. 11887288
товар в наличии
отгрузка: 30.041 721 руб.Осваиваем C++17 STL В КОРЗИНУ -
C++ для "чайников" Дэвис С.Р. 11885203
7-е изд.
товар в наличии
отгрузка: 30.041 369 руб.C++ для "чайников" В КОРЗИНУ -
Qt 5.10. Профессиональное программирование на C++ Шлее М. 11876036
товар в наличии
отгрузка: 30.041 390 руб.Qt 5.10. Профессиональное программирование на C++ В КОРЗИНУ -
Решение задач на современном C++ Бансила М. 11866701
товар в наличии
отгрузка: 30.041 577 руб.Решение задач на современном C++ В КОРЗИНУ -
100 примеров на С++ Акимова А.В., Кольцов Д.М. 11855000
товар в наличии
отгрузка: 30.04465 руб.100 примеров на С++ В КОРЗИНУ -
Как написать безопасный код на C++, Java, Perl, PHP, ASP Ховард М. 11836104
товар в наличии
отгрузка: 30.04716 руб.Как написать безопасный код на C++, Java, Perl, PHP, ASP В КОРЗИНУ -
Скользкие места С++ Дьюхэрст С. К. 11646141
как избежать проблем при проектировании и компиляции ваших программ
товар в наличии
отгрузка: 30.04788 руб.Скользкие места С++ В КОРЗИНУ -
Эффективное использование С++ Мэйерс С. 11495599
55 верных способов улучшить структуру и код ваших программ
товар в наличии
отгрузка: 30.041 004 руб.Эффективное использование С++ В КОРЗИНУ -
Программирование и отладка С/C++ приложений для микроконтроллеров ARM Магда Ю. С. 11492517
товар в наличии
отгрузка: 30.04645 руб.Программирование и отладка С/C++ приложений для микроконтроллеров ARM В КОРЗИНУ -
Управление электронными устройствами на С++ Катупития Я. 11488500
разработка практических приложений
товар в наличии
отгрузка: 30.041 577 руб.Управление электронными устройствами на С++ В КОРЗИНУ -
Дизайн и эволюция языка С++ Страуструп Б. 11444014
товар в наличии
отгрузка: 30.041 075 руб.Дизайн и эволюция языка С++ В КОРЗИНУ -
Наиболее эффективное использование C++ Мейерс С. 11297432
35 новых рекомендаций по улучшению ваших программ и проектов
товар в наличии
отгрузка: 30.041 004 руб.Наиболее эффективное использование C++ В КОРЗИНУ -
Страуструп. Программирование: принципы и практика с использованием C++ Страуструп Б. 11145318
описан С++11 и С++14, 2-е изд.
товар в наличии
отгрузка: 30.044 565 руб.Страуструп. Программирование: принципы и практика с использованием C++ В КОРЗИНУ -
C/C++. Процедурное программирование Полубенцева М.И. 10736900
товар в наличии
отгрузка: 30.04929 руб.C/C++. Процедурное программирование В КОРЗИНУ -
C++ для начинающих Шилдт Г. 10143245
товар в наличии
отгрузка: 30.041 101 руб.C++ для начинающих В КОРЗИНУ -
C++ для инженерных и научных расчетов Готтшлинг П. 11989114
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11989114 C++ для инженерных и научных расчетов2 592 руб.C++ для инженерных и научных расчетов Товар отсутствует. -
C++. Практика многопоточного программирования Уильямс Э.Д. 11977709
2-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11977709 C++. Практика многопоточного программирования1 911 руб.C++. Практика многопоточного программирования Товар отсутствует. -
Алгоритмы и программы. Язык C++ Конова Е.А., Поллак Г.А. 11975198
учебное пособие, 4-е изд., стер.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11975198 Алгоритмы и программы. Язык C++1 221 руб.Алгоритмы и программы. Язык C++ Товар отсутствует. -
Программирование на C++. Курс лекций Литвиненко Н.А. 11964280
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964280 Программирование на C++. Курс лекций541 руб.Программирование на C++. Курс лекций Товар отсутствует. -
Оптимизация программ на C++ Гантерот К. 11945500
проверенные методы повышения производительности
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11945500 Оптимизация программ на C++3 743 руб.Оптимизация программ на C++ Товар отсутствует. -
C/C++. Программирование на языке высокого уровня Павловская Т.А. 11920412
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11920412 C/C++. Программирование на языке высокого уровня1 445 руб.C/C++. Программирование на языке высокого уровня Товар отсутствует. -
C/C++ в задачах и примерах Культин Н. 11912074
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11912074 C/C++ в задачах и примерах375 руб.C/C++ в задачах и примерах Товар отсутствует. -
C++: руководство для начинающих Шилдт Герберт 11897965
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11897965 C++: руководство для начинающих712 руб.C++: руководство для начинающих Товар отсутствует. -
Современное проектирование на C++ Александреску А. 11894223
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11894223 Современное проектирование на C++1 001 руб.Современное проектирование на C++ Товар отсутствует. -
Стандарты программирования на C++ Саттер Г 11894221
101 правило и рекомендация
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11894221 Стандарты программирования на C++1 088 руб.Стандарты программирования на C++ Товар отсутствует. -
Справочник программиста по C/C++ Шилдт Г. 11894136
3-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11894136 Справочник программиста по C/C++800 руб.Справочник программиста по C/C++ Товар отсутствует. -
Язык программирования C++. Базовый курс Липпман С.Б., Лажойе Ж., Му Б.Э. 11888618
5-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11888618 Язык программирования C++. Базовый курс6 618 руб.Язык программирования C++. Базовый курс Товар отсутствует. -
Прикладное программирование на С/C++. С нуля до мультимедийных и сетевых приложений Иванов В. 11876321
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11876321 Прикладное программирование на С/C++. С нуля до мультимедийных и сетевых приложений631 руб.Прикладное программирование на С/C++. С нуля до мультимедийных и сетевых приложений Товар отсутствует. -
C/C++. Процедурное и объектно-ориентированное программирование Павловская Т.А. 11861682
учебник для вузов
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11861682 C/C++. Процедурное и объектно-ориентированное программирование1 678 руб.C/C++. Процедурное и объектно-ориентированное программирование Товар отсутствует. -
С++17 STL. Стандартная библиотека шаблонов Галовиц Я. 11858643
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11858643 С++17 STL. Стандартная библиотека шаблонов1 377 руб.С++17 STL. Стандартная библиотека шаблонов Товар отсутствует. -
C++ за 24 часа Либерти Дж., Кейденхед Р. 11800621
рассмотрен С++14, 6-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11800621 C++ за 24 часа890 руб.C++ за 24 часа Товар отсутствует.
В этой категории:
-
Параллельное программирование на современном С++ Гримм Р. 12118250
Must know параллельного программирования
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12118250 Параллельное программирование на современном С++2 869 руб.Параллельное программирование на современном С++ В КОРЗИНУ -
Язык программирования C# 9 и платформы .NET 5. Основные принципы и практики программирования Троелсен Э., Джепикс Ф. 12104596
10-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12104596 Язык программирования C# 9 и платформы .NET 5. Основные принципы и практики программирования5 478 руб.Язык программирования C# 9 и платформы .NET 5. Основные принципы и практики программирования В КОРЗИНУ -
-
Искусство вычислений в эпоху параллельности: Осваиваем на С++ Максютов М. С. 12077790
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12077790 Искусство вычислений в эпоху параллельности: Осваиваем на С++1 042 руб.Искусство вычислений в эпоху параллельности: Осваиваем на С++ В КОРЗИНУ -
Язык программирования С++ Страуструп Б. 12077505
специальное издание
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12077505 Язык программирования С++3 342 руб.Язык программирования С++ В КОРЗИНУ -
Прикладное программирование на C/C++: с нуля до мультимедийных и сетевых приложений Иванов В.Б. 12073161
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12073161 Прикладное программирование на C/C++: с нуля до мультимедийных и сетевых приложений717 руб.Прикладное программирование на C/C++: с нуля до мультимедийных и сетевых приложений В КОРЗИНУ -
Параллельное программирование на C# и .NET Core Танвар Ш. 12071744
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12071744 Параллельное программирование на C# и .NET Core1 507 руб.Параллельное программирование на C# и .NET Core В КОРЗИНУ -
Изучаем C# через разработку игр на Unity Ферроне Х. 12071076
5-е издание
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12071076 Изучаем C# через разработку игр на Unity1 723 руб.Изучаем C# через разработку игр на Unity В КОРЗИНУ -
Программируем на C# 8.0. Разработка приложений Гриффитс И. 12065034
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12065034 Программируем на C# 8.0. Разработка приложений3 878 руб.Программируем на C# 8.0. Разработка приложений В КОРЗИНУ -
Разработка Android-приложений на C# с использованием Xamarin с нуля Умрихин Е.Д. 12064850
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12064850 Разработка Android-приложений на C# с использованием Xamarin с нуля695 руб.Разработка Android-приложений на C# с использованием Xamarin с нуля В КОРЗИНУ