Динамо-машины  Метод Сократа 

1 [ 2 ] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

Неявный деструктор 130

Член auto ptr - 131

Семейные проблемы 131

Не хочешь - заставим! 133

Резюме 135

Задача 20. Контейнеры в памяти. Часть 1; уровни управления памятью 138

Вопрос для новичка 138

Вопрос для профессионала 138

Диспетчеры памяти и их стратегии: краткий обзор 138

Выбор стратегии 139

Резюме 141

Задача 21. Контейнеры в памяти. Часть 2: какие они на самом деле? 142

Вопрос для новичка 142

Вопрос для профессионала 142

Что попросишь, то получишь? 142

Память и стандартные контейнеры: теория 144

Память и стандартные контейнеры: практика 146

Резюме 147

Задача 22. Новый взгляд на new. Часть 1: многоликий оператор new 149

Вопрос для новичка 149

Вопрос для профессионала 149

Размещающий, обычный и не генерирующий исключений оператор new 150

Оператор new, специфичный для класса 151

Сюрприз сокрытия имен 152

Резюме 155

Задача 23. Новый взгляд на new. Часть 2: прагматизм в управлении памятью 156

Вопрос для новичка 156

Вопрос для профессионала 156

Исключения, ошибки и new{noihrow) 156

Теория и практика 158

Что надо проверять 161

Резюме 162

Оптимизация и эффективность 163

Задача 24. Константная оптимизация 164

Вопрос для новичка 164

Вопрос д-тя профессионала 164

const: ненавязчивый сервис 164

Как const может оптимизировать 165

Резюме 167

Задача 25. inline 168

Вопрос для новичка 168

Вопрос для профессионала 168

Краткий обзор 168

Ответ А: во время написания исходного текста 169

Ответ Б: во время компиляции 170

Ответ В: во время компоновки 171

Ответ Г: при инсталляции приложения 172



Ответ Д: в процессе работы Ответ Е: в некоторое другое время Резюме

Задача 26. Форматы данных и эффективность. Часть 1: игры в сжатие.

Вопрос для новичка

Вопрос для профессионала

Различные способы представления данных Задача 27. Форматы данных и эффективность. Часть 2: игры с битами

Вопрос для профессионала

BitBuffcr, убийца битов

Попытка №1: использование unsigned char

Попытка №2: использование стандартного контейнера упакованных битов

Плотная упаковка

Резюме

Ловушки, ошибки и головоломки

Задача 28. Ключевые слова, не являющиеся таковыми Вопрос для новичка Вопрос для профессионала Зачем нужны кл10чевые слова Ключевые слова С++ Зарезервированные комментарии Резюме

Задача 29. Инициализация ли это? Вопрос для новичка Вопрос для профессионала Базовый механизм заполнения Не инициализация Корректное заполнение Резюме

Задача 30. Двойная точность --- вежливость профаммистов Вопрос для новичка Вопрос дяя профессионала Два слова о float и double Колесо времени

О суживающем преобразовании типов Резюме

Задача 31. Сумеречное состояние... кода Вопрос для профессионала Мотивация

Макросам наплевать... Резю.ме

Задача 32. Небольшие очепятки и прочие курьезы

Вопрос для профессионала Задача 33. Ооооператоры

Вопрос для новичка

Вопрос для профессионала

Правило максимального глотка



Операторные шутки Злоупотребление операторами Дополнительный вопрос

Резюме

Изучение конкретных примеров

Задача 34. Индексные таблицы Вопрос для новичка Вопрос для профессионала Небольшая проповедь о ясности Разбор индексных таблиц Исправление механических ошибок Улучшение стиля Резюме

Задача 35. Обобщенные обратные вызовы Вопрос для новичка Вопрос для профессионала Качества обобщенности Разбор обобщенных обратных вызовов Улучшение стиля

Исправление механических ошибок и ограничений Резюме Задача 36. Объединения Вопрос для новичка Вопрос для профессионала Основные сведения Построение объединений Разбор кода Эти хитрые имена Использование boost::any Размеченные объединения Азександреску Резюме

Задача 37. Ослабленная монолитность. Часть 1: взгляд на std::string Вопрос для новичка Вопрос для профессионала Избегайте чрезмерно монолитных конструкций Юшсс string Резюме

Задача 38. Ослабленная монолитность. Часть 2; разбор std::string Вопрос для новичка Вопрос для профессионала Членство - быть или не быть Операции, которые обязаны быть членами Операции, которые следует сделать членами

Спорные операции, которые могут не быть ни членами, ни друзьями Задача 39. Ослабленная монолитность. Часть 3: уменьшение std::string Вопрос для новичка Вопрос для профессионала



1 [ 2 ] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90