|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Мэйерс С. — Эффективное использование C++ 55 верных способов улучшить структуру и код ваших программ |
|
|
Предметный указатель |
Временные объекты, избежание компиляторами 101—102
Встраивание 139—144
Встраивание во временя компоновки 140
Встраивание и виртуальные функции 140
Встраивание и динамическое связывание 143
Встраивание и интерфейсные классы 151
Встраивание и классы-дескрипторы 151
Встраивание и конструкторы/деструкторы 141—143
Встраивание и наследование 142—143
Встраивание и перекомпиляция 143
Встраивание и перекомпоновка 143
Встраивание и разработка библиотек 143
Встраивание и шаблоны 140
Встраивание, момент 140
Встраивание, предполагаемая стратегия для 143
Встроенные типы 29
Встроенные типы, несоответствие 89—90
Встроенные типы, эффективность и передача 97
Встроенные функции см. также "Встраивание"
Встроенные функции и деректива #define 31
Встроенные функции и заголовки 140
Встроенные функции и макросы, сравнение эффективности 31
Встроенные функции и оптимизация компилятором 139
Встроенные функции и отладчики 143
Встроенные функции и рекурсия 140
Встроенные функции как запрос к компилятору 139
Встроенные функции, адрес 141
Встроенные функции, декларация 139
Вторая редакция см. "2-я редакция"
Вызов базовых классов, приведение и 124
Вызов, swap 116
Выравнивание 246—247
Выражения и неявные интерфейсы 202
Высокоуровневое программирование и функциональные объекты, в Boost 266
Вэйт, Джон 14
Гамма, Эрих 11
Гарантии безопасности относительно исключений 133—134
Гарантия отсутствия исключений 133—134
Геллер, Алан 13
Генерация случайных чисел, в TR1 262
Группировка объектов 248
Гутник, Жене 13
Данные-члены защищенные 104
Данные-члены статические, инициализация 240
Данные-члены, добавление, функции копирования 69
Данные-члены, почему закрытые 102—105
Данные-члены, управление доступом 102
Даштинежад, Сасан 13
Двунаправленные итераторы 226
Демент, Вильям 153
Дескрипторы 130
Дескрипторы висячие 131
Дескрипторы, возврат 128—131
Дескрипторы, инкапсуляция и 130—131
Дескрипторы, оператор [] и 131
Деструкторы 93
Деструкторы пустые виртуальные 56
Деструкторы, встраивание и 141—142
Деструкторы, исключения и 56—60
Деструкторы, отношение к delete 83
Деструкторы, статические функции и 63
Деструкторы, управляющие ресурсами объекты 74
Джагдхар, Эмили 13
Джанерт, Филип 13
Джонсон, Ральф 11
Джонсон, Тим 12 13
Джоссутис, Николай М. 12
Дизайн классов см. "Дизайн типов"
Дизайн типов 87—94
Динамические типы, определение 183
Динамическое связывание виртуальных функций 180
Динамическое связывание, определение 183
Директива #include 31
Директива #include и зависимости на этапе компиляции 144—145
Доступ к именам в шаблонных базовых классах 207—212
Доступность, имена, множественное наследование и доступность 194
Доступность, управление доступностью членов-данных 102—103
Другие языки, совместимость с 54
Дружественные отношения без необходимости в специальных правах доступа 224
Дружественные отношения в реальной жизни 112
Дублирование и данные базового класса 195
Дублирование и функция init 71
Дублирование, избежание 37—39 42 61 71 166 184 212—216
Дулимов, Питер 13
Дьюхэрст, Стив 11
Дэвис, Тони 12
Единица трансляции, определение 43
Заблуда, Олег 13
Зависимое от реализации поведение, и предупреждения 259
Зависимости на этапе компиляции 144—152
Зависимости на этапе компиляции, минимизация 144—152 191
Зависимости на этапе компиляции, указатели, ссылки и объекты 147
Зависимые имена 204
Заголовочные файлы и встроенные функции 140
Заголовочные файлы и пространства имен 107—108
Заголовочные файлы и шаблоны 140
Заголовочные файлы, объявления и определения 147—148
Заголовочные файлы, стандартной библиотеки C++ 108
Закрытое наследование см. "Наследование"
Закрытые виртуальные функции 173
Закрытые данные-члены, почему 102—105
Закрытые функции-члены 51
Замена определений объявлениями 147—148
Замена, new/delete 244—249
Затенение имен см. "Скрытие имен"
Защищенное наследование см. "Наследование"
Защищенные данные-члены 104
Защищенные функции-члены 168
Защищенные члены, инкапсуляция 104—105
Значение, отсутствия у класса виртуальных функций 54
Значение, передача по см. "Передача по значению"
Золман, Леор 12 13
Идиома pimpl, безопасный относительно исключений код и 136
Идиома pimpl, отделение реализации от интерфейса 113
Избежание дублирования кода 62
Излишние объекты, избежание 121
Изменение порядка операций, компилятором 85—86
Имен, затенение см. "Сокрытие имен"
Имена вложенные зависимые 204
Имена доступные и в C, и в C++ 19
Имена зависимые 204
Имена классов 165
Имена независимые 204
Имена скрытые в производных классах 258—259
Имена, доступ к шаблонным базовым 207—211
Инварианты, NVI и 173
Инициализация 20 40—41
Инициализация в классе статических константных членов интегральных типов 29
Инициализация встроенных типов 42
Инициализация и виртуальные базовые классы 195
Инициализация и присваивание 21
Инициализация константных статических членов 29
Инициализация константных членов 42
Инициализация локальных статических объектов 45
Инициализация не локальных статических объектов 44—45
Инициализация объектов 40—46
Инициализация по умолчанию, нежелательность 70
Инициализация по умолчанию, непреднамеренная 70
Инициализация с аргументами и без 119—120
Инициализация ссылок на члены 42
Инициализация статических членов 240
Инкапсуляция 103 106
Инкапсуляция и дескрипторы 130
Инкапсуляция и защищенные члены 104—105
Инкапсуляция и классы RAII 82
Инкапсуляция и паттерны проектирования 175
Инкапсуляция и приведения 128
Инкапсуляция, степень 106
Инструкции, изменение порядка компилятором 85—86
Интеллектуальные указатели 73 74—75 79 90 126 140 236 см. "tr1::shared_ptr"
| Интеллектуальные указатели в Boost 76 267
Интеллектуальные указатели в TR1 259—264
Интеллектуальные указатели, get и 80
Интеллектуальные указатели, Web-страница для 11
Интеллектуальные указатели, объекты, выделенные new 85—86
Интеллектуальные указатели, преобразования типов 217—221
Интернационализация, поддержка библиотеки для 260
Интерфейсные классы 149—152
Интерфейсы и выражения 202
Интерфейсы и новые типы 88
Интерфейсы и параметры шаблонов 201—203
Интерфейсы необъявленные 94
Интерфейсы неявные 200—203
Интерфейсы явные, сигнатуры 202
Интерфейсы, извлечение из реализации 165
Интерфейсы, наследование 164—171
Интерфейсы, определение 22—23
Интерфейсы, отделение от реализации 145
Интерфейсы, рассмотрение использования 87—92
Исключения 119
Исключения, delete и 73
Исключения, деструкторы 56—60
Исключения, неиспользуемые объекты 120
Исключения, стандартная иерархия 260
Исключения, член swap и 118
Исключения, «проглатывание» 58
Использование регистров и объекты 97
Итераторы ввода 226
Итераторы вывода 226
Итераторы как дескрипторы 130
Итераторы с произвольным доступом 226
Каи, Стив 13
Какулапати, Гунавардан 13
Каленкович, Евгений 13
Карарра, Энрико 13
Карджилл, Том 12
Каролл, Гленн 12
Категории итераторов 226
Квадраты и прямоугольники 157—158
Кеннеди, Гленн 13
Керниган, Брайан 13
Кимура, Юничи 13
Кирман, Жак 12
Класс, final из Java 55
Класс, sealed, в C# 55
Класс, Widget, использование в этой книге 24
Классы см. также "Определения классов интерфейсы"
Классы абстрактные 55 164
Классы базовые см. также "Базовые классы"
Классы базовые виртуальные 194
Классы базовые полиморфные 56
Классы базовые шаблонные 207—212
Классы базовые, дублирование данных в 195
Классы интерфейсные 149
Классы производные см. также "Наследование"
Классы производные базовой инициализации от виртуального класса 165
Классы спецификации см. "Интерфейсы"
Классы характеристические 225—231
Классы, RAII см. "RAII"
Классы, дескрипторы 195
Классы, определение 19
Классы, смысл отсутствия виртуальных функций в 54
Клемедж, Стив 12
Клиент 23
Кнокс, Тимоти 12 13
Код некорректный, эффективность 97—98
Код, безопасный относительно исключений 132—139
Код, дублирование см. "Дублирование"
Код, использование существующих компонентов 196
Код, оператор присваивания копированием 71
Код, разделение см. "Дублирование как
Код, раздувание 37 139 229
Код, раздувание, как избежать в шаблонах 212—217
Код, размещение вне шаблона 212—217
Комеу, Грег 12
Комеу, Грег, URL для его C/C++, FAQ 12
Компилятора предупреждения 258—259
Компилятора предупреждения, встраивание и 141
Компилятора предупреждения, вызовы виртуальных функций и 62
Компилятора предупреждения, частичные копии и 69
Компиляторы, typename и 207
Компиляторы, изменение порядка операций 85
Компиляторы, использование регистров и 97
Компиляторы, когда диагностируются ошибки 212
Компиляторы, программы, исполняемые внутри см. "Метапрограммирование шаблонов"
Компиляторы, разбор вложенных зависимых имен 205
Композиция 185—187
Композиция и закрытое наследование 189
Композиция, замена закрытого наследования на 190
Композиция, значение слова 185
Композиция, синонимы для 185
Константность 28 31—40
Константность и деректива #define 28—29
Константность логическая 36
Константность побитовая 35
Константность, возвращаемые значения 33
Константность, дублирование 38—39
Константность, исключение приведения 39
Константность, кэширование 36
Константность, объявления функций 33
Константность, перегрузка 34
Константность, передача std::auto_ptr 220
Константность, передача по ссылке на 94—98
Константность, применения 32
Константность, указатели 32
Константность, функции-члены 33—39
Константность, члены, инициализация 42
Константы см. "Константность"
Конструкторы 93
Конструкторы виртуальные 149 150
Конструкторы копирования 21
Конструкторы копирования как используются 21
Конструкторы копирования неявно сгенерированные 47
Конструкторы копирования обобщенные 219
Конструкторы копирования, определение по умолчанию 48
Конструкторы копирования, передача по значению и 21
Конструкторы копирования, производные классы и 70
Конструкторы неявно сгенерированные 45 47
Конструкторы по умолчанию 20
Конструкторы пустые, иллюзия 141—142
Конструкторы с аргументами 120
Конструкторы, explicit 20—21 93 111
Конструкторы, виртуальные функции 60—63
Конструкторы, возможные реализации в производных классах 143
Конструкторы, встраивание 141—143
Конструкторы, оператор new 142
Конструкторы, отношение к new 83
Контейнеры, в Boost 266
Концептуальная константность см. "Константность логическая"
Копии, частичные 70
Копирование и обмен безопасный отностительно исключений код и 136
Копирование и обмен, присваивание и 67
Копирование классов, управляющих ресурсами 76—79
Копирование объектов 68—71
Копирование функции 68
Копирование частей базовых классов 70
Корректность дизайна интерфейсов 87—92
Корректность единиц измерения, и TMP 235
Корректность, тестирование, поддержка Boost 267
Кортежи в TR1 262
Коуронис, Дросос 13
Кохен, Джейк 13
Коэлблинг, Майк 12
Креузер, Герхард 13
Кримс, Эндрю 13
Курьезный рекурсивный шаблонный паттерн 243
Кэширование, const 36
Кэширование, mutable 37
Ланджер, Анжелика 13
Ланцетта, Майкл 13
|
|
|
Реклама |
|
|
|