Предисловие....14
Глава 1. Введение в наследование и полиморфизм....20
Глава 2. Шаблоны классов и функций....34
Глава 3. Владение памятью....59
Глава 4. От простого к нетривиальному....70
Глава 5. Все о захвате ресурсов как инициализации....85
Глава 6. Что такое стирание типа....108
Глава 7. SFINAE и управление разрешением перегрузки....125
Глава 8. Рекурсивный шаблон....162
Глава 9. Именованные аргументы и сцепление методов....181
Глава 10. Оптимизация локального буфера....200
Глава 11. Охрана области видимости....218
Глава 12. Фабрика друзей....247
Глава 13. Виртуальные конструкторы и фабрики....261
Глава 14. Паттерн Шаблонный метод и идиома невиртуального интерфейса....278
Глава 15. Одиночка – классический объектно-ориентированный паттерн....292
Глава 16. Проектирование на основе политик....312
Глава 17. Адаптеры и декораторы....362
Глава18. Паттерн Посетитель и множественная диспетчеризация....390
Ответы на вопросы....429
Предметный указатель....448
В книге акцент сделан на паттерны проектирования, которые отвечают есrесrвенным нуждам программиста на С++, а также паттернам, выигрывающим от уникальных особенностей С++, в частности, обощенного программирования. Вооруженные знанием этих паттернов, вы будете тратить меньше времени на поиск решения конкретной задачи и познакомитесь с решениями, доставшимися тяжким опытом других разработчиков, их достоинствами и недосrатками.
Издание предназначено программистам на С++, хорошо владеющих средствами и синтаксисом языка.