Author(s): Герб Саттер
Series: C++ In-Depth
Publisher: Вильямс
Language: Russian
Commentary: 1146074619+OCR
Pages: 400
Задача 1.1. Итераторы......Page 17
Задача 1.2. Строки, нечувствительные к регистру. Часть 1......Page 19
Задача 1.3. Строки, нечувствительные к регистру. Часть 2......Page 22
Задача 1.4. Обобщенные контейнеры с максимальным повторным использованием. Часть 1......Page 24
Задача 1.5. Обобщенные контейнеры с максимальным повторным использованием. Часть 2......Page 25
Задача 1.6. Временные объекты......Page 31
Задача 1.7. Использование стандартной библиотеки (или еще раз о временных объектах)......Page 36
Задача 1.8. Переключение потоков......Page 37
Задача 1.9. Предикаты. Часть 1......Page 41
Задача 1.10. Предикаты. Часть 2......Page 44
Задача 1.11. Расширяемые шаблоны......Page 50
Задача 1.12. Typename......Page 62
Задача 1.13. Контейнеры, указатели и не контейнеры......Page 65
Задача 1.14. Использование vector и deque......Page 73
Задача 1.15. Использование set и map......Page 79
Задача 1.16. Эквивалентный код?......Page 84
Задача 1.17. Специализация и перегрузка шаблонов......Page 88
Задача 1.18. Mastermind......Page 92
Задача 2.1. Разработка безопасного кода. Часть 1......Page 103
Задача 2.2. Разработка безопасного кода. Часть 2......Page 107
Задача 2.3. Разработка безопасного кода. Часть 3......Page 109
Задача 2.4. Разработка безопасного кода. Часть 4......Page 114
Задача 2.5. Разработка безопасного кода. Часть 5......Page 116
Задача 2.6. Разработка безопасного кода. Часть 6......Page 120
Задача 2.7. Разработка безопасного кода. Часть 7......Page 125
Задача 2.8. Разработка безопасного кода. Часть 8......Page 127
Задача 2.9. Разработка безопасного кода. Часть 9......Page 129
Задача 2.10. Разработка безопасного кода. Часть 10......Page 132
Задача 2.11. Сложность кода. Часть 1......Page 134
Задача 2.12. Сложность кода. Часть 2......Page 137
Задача 2.13. Исключения в конструкторах. Часть 1......Page 141
Задача 2.14. Исключения в конструкторах. Часть 2......Page 144
Задача 2.15. Неперехваченные исключения......Page 150
Задача 2.16. Проблема неуправляемых указателей. Часть 1......Page 154
Задача 2.17. Проблема неуправляемых указателей. Часть 2......Page 157
Задача 2.18. Разработка безопасных классов. Часть 1......Page 162
Задача 2.19. Разработка безопасных классов. Часть 2......Page 169
Задача 3.1. Механика классов......Page 175
Задача 3 2. Замещение виртуальных функций......Page 181
Задача 3.3. Взаимоотношения классов. Часть 1......Page 184
Задача 3.4. Взаимоотношения классов. Часть 2......Page 187
Задача 3.5. Наследование: потребление и злоупотребление......Page 192
Задача 3.6. Объектно-ориентированное программирование......Page 200
Задача 3 7. Множественное наследование......Page 201
Задача 3.8. Эмуляция множественного наследования......Page 205
Задача 3.9. Множественное наследование и проблема сиамских близнецов......Page 208
Задача 3.10. (Не)чисто виртуальные функции......Page 211
Задача 3.11. Управляемый полиморфизм......Page 215
Задача 4.1. Минимизация зависимостей времени компиляции. Часть 1......Page 219
Задача 4.2. Минимизация зависимостей времени компиляции. Часть 2......Page 221
Задача 4.3. Минимизация зависимостей времени компиляции. Часть 3......Page 225
Задача 4.4. Брандмауэры компиляции......Page 227
Задача 4.5. Идиома "Fast Pimpl"......Page 229
Задача 5.1. Поиск имен и принцип интерфейса. Часть 1......Page 237
Задача 5.2. Поиск имен и принцип интерфейса. Часть 2......Page 239
Задача 5.3. Поиск имен и принцип интерфейса. Часть 3......Page 246
Задача 5.4. Поиск имен и принцип интерфейса. Часть 4......Page 249
Задача 6.1. Управление памятью. Часть 1......Page 257
Задача 6.2. Управление памятью. Часть 2......Page 259
Задача 6.3. Применение auto_ptr. Часть 1......Page 265
Задача 6.4. Применение auto_ptr. Часть 2......Page 273
Задача 6.5. Интеллектуальные указатели-члены. Часть 1......Page 279
Задача 6.6. Интеллектуальные указатели-члены. Часть 2......Page 283
Задача 7.1. inline......Page 293
Задача 7.2. Отложенная оптимизация. Часть 1......Page 296
Задача 7.3. Отложенная оптимизация. Часть 2......Page 299
Задача 7.4. Отложенная оптимизация. Часть 3......Page 302
Задача 7.5. Отложенная оптимизация. Часть 4......Page 309
8. Свободные функции и макросы......Page 319
Задача 8.1. Рекурсивные объявления......Page З19
Задача 8.2. Имитация вложенных функций......Page 324
Задача 8.3. Макросы препроцессора......Page 330
Типичные ошибки при работе с макросами......Page 333
Задача 9.1. Тождественность объектов......Page 337
Задача 9.2 Автоматические преобразования......Page 339
Задача 9.3 Времена жизни объектов. Часть 1......Page 340
Задача 9 4. Времена жизни объектов. Часть 2......Page 342
Задача 10.1. Инициализация. Часть 1......Page 349
Задача 10.2. Инициализация. Часть 2......Page 350
Задача 10.3. Корректность const......Page 353
Задача 10.4. Приведения......Page 359
Задача 10.5. bool......Page 363
Задача 10.6. Пересылающие функции......Page 366
Задача 10.7. Поток управления......Page 367
Задача 10.8. Предварительные объявления......Page 373
Задача 10.9. typedef......Page 375
Задача 10.10. Пространства имен. Часть 1......Page 377
Задача 10.11. Пространства имен. Часть 2......Page 380
Послесловие......Page 389
Список литературы......Page 391
Предметный указатель......Page 393