Купить бумажную книгу и читать
По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".
Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.
Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.
Название: Новые сложные задачи на C++
Автор: Саттер Г.
Издательство: Вильямс
Год: 2008
Страниц: 272
ISBN: 978-5-8459-0823-0
Формат: PDF
Размер: 10 Мб
Язык: русский
Серия: C++ In-Depth
Многие из рассмотренных в книге задач появились в результате работы автора и других программистов над своими программами. Цель книги — помочь читателю сделать верные выводы, как из хорошо известного ему материала, так и из только что изученного, и показать взаимосвязь между различными частями C++.
Данная книга не посвящена какому-то конкретному аспекту C++. Нельзя, однако, сказать, что она охватывает все детали C++ — для этого потребовалось бы слишком много книг, — но, тем не менее, в ней рассматривается широкая палитра возможностей C++ и стандартной библиотеки и, что немаловажно, демонстрируется, как кажущиеся на первый взгляд несвязанными между собой вещи могут совместно использоваться для получения новых решений старых и хорошо известных задач. Здесь вы найдете материал, посвященный шаблонам и пространствам имен, исключениям и наследованию, проектированию надежных классов и шаблонам проектирования, обобщенному программированию и магии макросов, — и не просто винегрет из этих вопросов, а задачи и решения, выявляющие взаимосвязь всех этих частей современного C++.
Оглавление
Предисловие 14
Стиль или суть? 14
Метод Сократа 15
Как читать данную книгу 16
Благодарности 17
Обобщенное программирование и стандартная библиотека C++ 19
Задача 1. Вектор: потребление и злоупотребление 20
Задача 2. Строчный двор. Часть 1: sprintf 26
Задача 3. Строчный двор. Часть 2: стандартные альтернативы 30
Задача 4. Функции-члены стандартной библиотеки 39
Задача 5. Красота обобщенности. Часть 1: Азы 42
Задача 6. Красота обобщенности. Часть 2: Достаточно ли универсальности? 45
Задача 7. Почему не специализируются шаблоны функций? 50
Задача 8. Дружественные шаблоны 56
Задача 9. Ограничения экспорта. Часть 1: основы 64
Задача 10. Ограничения экспорта. Часть 2: взаимосвязи, практичность
и советы по использованию 71
Вопросы и приемы безопасности исключений 79
Задача 11. Попробуй поймай 80
Задача 12. Безопасность исключений: стоит ли овчинка выделки? 84
Задача 13. Прагматичный взгляд на спецификации исключений 87
Разработка классов, наследование и полиморфизм 95
Задача 14. К порядку! 96
Задача 15. Потребление и злоупотребление правами доступа 99
Задача 16. Крепко закрыт? 103
Задача 17. Инкапсуляция 110
Задача 18. Виртуальность 118
Задача 19. Не можешь — научим, не хочешь — заставим! 126
Задача 20. Контейнеры в памяти. Часть 1: уровни управления памятью 138
Задача 21. Контейнеры в памяти. Часть 2: какие они на самом деле? 142
Задача 22. Новый взгляд на new. Часть 1: многоликий оператор new 149
Задача 23. Новый взгляд на new. Часть 2: прагматизм в управлении памятью 156
Оптимизация и эффективность 163
Задача 25. inline 168
Задача 26. Форматы данных и эффективность. Часть 1: игры в сжатие. 175
Задача 27. Форматы данных и эффективность. Часть 2: игры с битами 179
Ловушки, ошибки и головоломки 185
Задача 28. Ключевые слова, не являющиеся таковыми 186
Задача 29. Инициализация ли это? 192
Задача 30. Двойная точность — вежливость программистов 197
Задача 31. Сумеречное состояние... кода 200
Задача 32. Небольшие очепятки и прочие курьезы 204
Задача 33. Ооооператоры 207
Изучение конкретных примеров 211
Задача 34. Индексные таблицы 212
Задача 35. Обобщенные обратные вызовы 221
Задача 36. Объединения 228
Задача 37. Ослабленная монолитность. Часть 1: взгляд на std::string 242
Задача 38. Ослабленная монолитность. Часть 2: разбор std::string 247
Задача 39. Ослабленная монолитность. Часть 3: уменьшение std::string 254
Задача 40. Ослабленная монолитность. Часть 4: новый std::string 257
Список литературы 265
Предметный указатель 268
Купить бумажную книгу или электронную версию книги и скачать
По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".
Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.
Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.
Дата создания страницы: