|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Мэйерс С. — Эффективное использование C++. 55 верных советов улучшить структуру и код ваших программ |
|
|
Предметный указатель |
Присваивание, копирование с обменом 67
Проблема нескольких DLL 91
Проблемы с синтаксическим анализом исходного текста компилятором, вложенные зависимые имена 204
Проверка совпадения 66
Проглатывание исключений 58—59
Проектирование интерфейсов 179—185
Проектирование противоречия 180
Проектирование типов 179—187
Производительность см. «Эффективность»
Производные классы, виртуальная базовая инициализация 195
Производные классы, конструкторы копирования 71
Производные классы, копирующие операторы присваивания 71
Производные классы, реализация конструкторов 143
Производные классы, сокрытие имен в базовых классах 258—259
Пространства имен 116
Пространства имен, std, специализированные шаблоны 114
Пространства имен, заголовки 107
Пространства имен, засорение пространства именкласса 168
Раббани, Дэнни 13
Рабинович, Марти 14
Разделение общего свойства 168
Разделяемая память, помещение объектов 248
Разделяемый код см. «Дублирование избежание»
Размеры автономных классов 251
Размеры объектов 145—146
Размещение, delete см. «Оператор delete»
Размещение, new см. «Оператор new»
Размещение, кода вне шаблона 212—217
Размещение, массивов против размещения объектов 221—225
Разыменование нулевого указателя, неопределенное поведение 22
Раннее связывание 182
Распределение памяти, массивы 251
Распределение памяти, обработка ошибок для 238—244
Распределители, в STL 237
Реализации по умолчанию виртуальных функций, их опасность 165—169
Реализации по умолчанию конструкторов копирования 48
Реализации по умолчанию оператора = 48
Реализации, std::max 140
Реализации, std::swap 112
Реализации, интерфейсных классов 150
Реализации, конструкторов и деструкторов производных классов 142
Реализации, наследование 164—171
Реализации, по умолчанию, опасность 165—169
Реализации, ссылок 97
Реализовано посредством 185—187
Регулярные выражения, в TR1 262
Рекурсивные функции, встраивание 140
Репликация см. «Дублирование»
Ресурсы, управляющие объекты 79—82
Ривз, Джек 13
Рид, Кэти 14
Роз, Майк 13
Ромбовидное наследование 194
Сакс, Дэн 12
Сантос, Юджин мл. 12
Саттер, Херб 13
Сатч 49
Свойства 104
Сгенерированные компилятором функции 47—50
Сгенерированные компилятором функции, запрет 50—52
Сгенерированные компилятором функции, которые компилятор может генерировать 220
Сигнатура, определение 19
Сигнатура, явные интерфейсы 202
Символы, доступные и в C, и в C++ 19
Сингх, Сиддхартха 13
Смаллберг, Дэвид 12 13
Смешанные арифметические операции 110—112 221—225
Совместимость, vptr 54
Совместимость, со встроенными типами 33 94
Совместимые типы, приемлемость 217—221
Совмещение имен 65
Сократ 95
Сокрытие имен, наследование 159—163
Сокрытие имен, объявление using 162
Сокрытие имен, операторы new/delete 255—256
Соммерс, Джефф 13
Сообщения, об ошибках в этой книге 16
Соответствующие формы new и delete 83—84
Сопровождение, delete 73
Сопровождение, общие базовые классы 167
Специализация инвариант относительно 170
Специализация полная, std::swap 114 115
Специализация частичная, std::swap 115
Спецификации см. «Интерфейсы»
Спецификации исключений 93
Списки ошибок этой книги 16
Списки типов 267
Список рассылки Скотта Мейерса 16
Ссылки, возврат 98—102
Ссылки, возвращаемые функциями 45
Ссылки, зависимости на этапе компиляции 147
Ссылки, как дескрипторы 130
Ссылки, на статические объекты, как возвращаемые функциями значения 100—102
Ссылки, реализация 97
Ссылки, семантика 98
Стандартная библиотека шаблонов см. «STL»
Стандартная иерархия исключений 260
Стандартные формы операторов new/delete 256
Стаско, Джон 12
Статистика использования, управление памятью 245
Статические объекты, возврат ссылок на 99—102
Статические объекты, многопоточность 46
Статические объекты, определение 43
Статические объекты, функции, конструкторы и деструкторы 62
Статические объекты, члены, инициализация 240
Статические объекты, члены, константные функции-члены 35
Статические объекты, члены, определение 240
Статические типы, определение 182—183
Статическое связывание невиртуальных функций 180
Статическое связывание параметров по умолчанию 183
Степень инкапсуляции 106 109
Страуструп, Бьерн 11 12
Страуструп, Николас 13
Строгая гарантия 133 134
Строковые и текстовые утилиты, Boost 266
Структуры данных в Boost 264
Структуры данных и безопасный относительно исключений код 133 134
Текстовые и строковые утилиты в Boost 266
Терминология, используемая в этой книге 18—23
Тестирование и корректность, поддержка Boost 267
Тилли, Барбара 12
Типы if...else для 229
Типы встроенные, инициализация 40—41
Типы встроенные, определение 29
Типы, совместимость, допустимость всех 217—221
Типы, характеристические классы 225—231
Тондо, Кловис 12
Топик, Майкл 13
Точки останова и встраивание 143
Тракс, Антон 12
Третья редакция см. «3-я редакция»
Трюк с перечислением 30 234
Тсао, Майк 13
Указатели см. «Интеллектуальные указатели»
Указатели в заголовках 28
Указатели константные 32
Указатели на один объект и на массив объектов, и delete 83
Указатели на таблицы виртуальных функций 54
Указатели, зависимости на этапе компиляции 147
Указатели, как дескрипторы 130
Указатели, нулевой, разыменование 22
| Указатели, параметры шаблона и 217
Указатели, параметры шаблона и побитово-константные функции-члены 33—34
Унаследованный код, безопасность относительно исключений 137—138
Управление доступностью членов-данных 102—103
Управление памятью, многопоточность 237 250
Управление памятью, утилиты, в Boost 267
Управление памятью, функции, замена 244—249
Управление ресурсами см. также «RAII»
Управление ресурсами, доступ к неинкапсулированным ресурсам 79—82
Управление ресурсами, объекты 72—76
Управление ресурсами, поведение при копировании 76—79
Урбано, Нэнси Л 12 14
Утечка ресурсов, безопасный относительно исключений код 132
Утечки и безопасный относительно исключений код 132 134
Утечки памяти, и выражения new 253
Фабричные функции см. «Функции-фабрики»
Фалленстендт, Мартин 13
Фехер, Аттила 13
Физическая константность см. «Константность побитовая»
Формы new и delete 83—84
Френч, Дональд 14
Фручтерман, Томас 13
Фуллер, Джон 14
Функции вспомогательные 107
Функции встроенные, объявление 139
Функции копирования 68
Функции перенаправляющие 147
Функции статические 63
Функции, возвращаемое значение, модификация 35
Функции, намеренно не определенные 51
Функции, не-виртуальные, значение 170
Функции, не-члены для преобразования типов 109—112 221—225
Функции, не-члены и не-друзья 105—109
Функции, не-члены шаблоны 221—225
Функции, неявно сгенерированные 47—50 220
Функции, неявно сгенерированные, запрет 50—52
Функции, определение 19
Функции, сигнатуры, явные интерфейсы 202
Функции, члены и не-члены 111
Функции, члены, шаблоны 217
Функции-друзья 51 94 111—112 140 175 222
Функции-друзья и функции-члены 105—109
Функции-обработчики new, поведение 239
Функции-фабрики 53 72 79 90 149 195
Функции-члены закрытые 51
Функции-члены защищенные 168
Функции-члены и функции — не-члены 111—112
Функции-члены наиболее частые ошибки проектирования 170—171
Функции-члены неявно сгенерированные 47—50
Функции-члены неявно сгенерированные, запрет 50—52
Функции-члены побитовая константность 35—36
Функции-члены сравнение с не-членами и не-друзьями 105—109
Функции-члены, const 33—37
Функции-члены, дублирование 37—40
Функции-члены, инкапсуляция 106
Функции-члены, логическая константность 35—36
Функциональные объекты, высокоуровневые программные утилиты, в Boost 266
Функциональные объекты, определение 22
Функция, init 71
Функция, setunexpected 134
Функция, unexpected 134
Характеристические классы 225—231
Хастингс, битва при 154
Хелм, Ричард 11
Хенни, Келвин 13
Хикс, Кори 13
Хьюгланд, Сольвейг 14
Хэш-таблицы в TR1 262
Цепочка присваиваний 64
Чанг, Брендон 13
Части, объектов, копирование всех 68—71
Частичная специализация, std::swap 115
Частичная специализация, шаблонов функций 114—115
Частичное копирование 69
Чистильщики (deleters), std::auto_ptr 78
Чистильщики (deleters), trl::shared_ptr 78
Чисто виртуальные деструкторы, определение 56
Чисто виртуальные деструкторы, реализация 55—56
Чисто виртуальные функции 55
Чисто виртуальные функции, определение 165 169
Чисто виртуальные функции, семантика 165
Чистые значения см. «valarray»
Чтение неинициализированных значений 40
Шаблон, Singleton 45
Шаблон, Vector 84
Шаблоны, C++ 12
Шаблоны, встраивание 140—141
Шаблоны, выражений 236
Шаблоны, заголовки 140
Шаблоны, заключение относительно типов 222
Шаблоны, имена в базовых классах 207—212
Шаблоны, комбинация с наследованием 241—243
Шаблоны, конкретизация 222
Шаблоны, определение 19
Шаблоны, ошибки, когда обнаруживаются 211
Шаблоны, параметры, не являющиеся типами 213
Шаблоны, параметры, пропуск 223
Шаблоны, параметры, типов указателей 216
Шаблоны, преобразования типа 221—225
Шаблоны, проектирования 11
Шаблоны, разбухание кода, избежание 212—216
Шаблоны, сокращение для 223
Шаблоны, специализация 228 234
Шаблоны, специализация полная 114
Шаблоны, специализация частичная 115 228
Шаблоны, специализированные, Bstd 114
Шаблоны, функций-членов 217—221
Шевчук, Джон 12
Шекспир, Вильям 159
Шерпельтц, Джефф 13
Ширрипа, Стив 13
Шобер, Хендрик 13
Шройедер, Сандра 14
Этап компиляции, полиформизм 201
Эффективность связывания параметров по умолчанию 183
Эффективность содержание 268—271
Эффективность шаблонов и параметров функций 216
Эффективность, dynamic_cast 126
Эффективность, виртуальных функций 169
Эффективность, инициализации с аргументами и без 120
Эффективность, инициализация членов и присваивание 41
Эффективность, интерфейсных классов 151
Эффективность, классы-дескрипторы 151
Эффективность, макросов и встроенных функций 30—31
Эффективность, метапрограммирование шаблонов 232
Эффективность, минимизации зависимостей на этапе компиляции 191
Эффективность, неиспользуемые объекты 119
Эффективность, некорректный код 99
Эффективность, оператор new, оператор delete 244—245
Эффективность, передача встроенных типов 97
Эффективность, передача по значению 95
Эффективность, передача по ссылке 96
Эффективность, проверок во время компиляции и во время исполнения 229
Эффективность, сравнение присваивания и использования конструкторов и деструкторов 101
Явные вызовы функций базовых классов 211
Явные квалификации, по именам классов 165
Явные конвертации типов против неявных 80—82
Явный запрос встроенной функции 139
Язык программирования со множеством парадигм, C++ как 26
Языки, другие, совместимость с 54
«Hello World», и метапрограммирование шаблонов 234—235
|
|
|
Реклама |
|
|
|