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