|
|
 |
| Авторизация |
|
|
 |
| Поиск по указателям |
|
 |
|
 |
|
|
 |
 |
|
 |
|
| Мейерс С. — Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов |
|
|
 |
| Предметный указатель |
Объявления вместо определений 139
Объявления классов 18
Объявления объектов 18
Объявления функций 18
Объявления шаблонов 18
Обычные виртуальные функции 153
Ограничения доступа при наследовании 111 112
Оккам, Уильям 192
Оператор switch по типу объекта в сравнении с виртуальными функциями 164
Операторы и аппроксимации пространства имен 117
Определения классов 19
Определения классов зависимости при компиляции 139
Определения классов и объявления классов 140
Определения классов, размеры объектов 138
Определения неявно генерируемых функций 196
Определения новых типов для аппроксимации пространств имен 116
Определения новых типов и new/delete 35
Определения объектов 19 129
Определения переменных 129
Определения переменных в операторе if 168
Определения статических членов класса 40
Определения функций 19
Определения чисто виртуальных функций 152 156
Определения шаблонов 19
Определения, замена объявлениями 139
Оптимизация посредством использования виртуальных функций 190
Оптимизация при компиляции 97 103 131 212
Оптимизация при компиляции, встраиваемые функции 131
Отделение интерфейса от реализации 137
Открытое наследование 146 194
Отладчики и #define 27
Отладчики и встраиваемые функции 136
Отношение «есть разновидность» 146
Отношение «реализуется посредством» 169 171 176 179 180 192
Отношение «содержит» 169
Ошибки во время выполнения 107 148 198
Ошибки во время выполнения, переход к ошибкам во время компиляции 199
Ошибки во время выполнения, стандартная библиотека C++ 212
Ошибки во время компиляции 107 198
Ошибки во время компиляции, преимущества 201
Ошибки во время компоновки 27 67 133 198 201
Ошибки, средства библиотеки 212
Память, схема размещения объектов 184
Параллельные вычисления 206
Паскаль 164
Перегрузка const 92
Перегрузка и определение аргументов по умолчанию 103
Передача маленьких объектов 99
Передача параметров по значению и конструкторы копирования 20
Передача по значению 96
Передача по значению и конструкторы копирования 96
Передача по значению и эффективность 96
Передача по ссылке 98
Передача по ссылке и эффективность 98
Переменные 129
Переменные в операторах if 168
Переменные и конструкторы 129
Переобъявление виртуальных функций 175
Переопределение виртуальных функций 182
Переопределение унаследованных невиртуальных функций 158
Плата 96
Плохое проектирование и множественное наследование 190
Плохое проектирование и повторное использование кода 190
Побитово константные функции-члены 93
Побитовое копирование при присваивании 56 196
Побитовое копирование при создании копированием 57 196
Поведение модификация путем использования виртуальных функций 190
Повторное использование разработанной стратегии управления памятью 53
Поддержка кода и множественное наследование 193
Поддержка кода и понижающее приведение типов 164
Поддержка кода, большие интерфейсы классов 81
Поддержка кода, добавление членов класса 36
Поддержка кода, общие базовые классы 154
Поддержка кода, список членов инициализации 61
Поддержка кода, ссылки на функции 117
Подсчет ссылок 57
Полный интерфейс 81 171
Пользователи определение термина 23
Понижающее приведение типов безопасное 167
Понижающее приведение типов, использование с библиотеками, доступными только для чтения 167
Понижающее приведение типов, определение термина 164
Порядок инициализации в иерархии 63
Порядок инициализации статических объектов 31
Порядок инициализации, значимость 202
Последовательность подхода и открытые интерфейсы 89
Последовательность, совместимость со встроенными типами 69 80 83 92
Потенциальная неоднозначность 110
Потенциальная неоднозначность и пространства имен 115
Почленное копирование в конструкторе 196
Почленное присваивание 196
Пошаговая отладка и встраивание функций 136
Правило «80-20» 136 157
Предупреждения компилятора 205
Преобразования типов 87
Преобразования типов и закрытое наследование 176
Преобразования типов к ссылке 73
Преобразования типов, обход константности 120
Преобразования типов, отбрасывание константности 95
Препроцессор 37 107
Префиксы имен в библиотеках 114
Приведение типов 164 182
Приведение типов, использование с библиотеками, доступными только для чтения 168
Приведение типов, как избежать приведения типов 167
Приведение типов, новая форма 24
Приведение типов, понижающее приведение 164
Приведение типов, преимущества новой формы 23
Примеры новых форм преобразований типов const_cast 95 96
Примеры новых форм преобразований типов static_cast 31
Примеры новых форм приведения типов dynamic_cast 168
Примеси 41
Присваивание в сравнении с инициализацией 21
Присваивание и массивы 83
Присваивание самого себя 74
Присваивание, запрет 58
Проблема усечения объектов 98
Пробуксовка и встраиваемые функции 131
Проверка на допустимость значения как избежать 199
Проект международного стандарта 214
Проектирование классов и типов 79
Проектирование классов плохое и множественное наследование 190
Проектирование классов плохое и повторное использование кода 190
Проектирование классов, классы и функции 79
Проектирование объектно-ориентированное 145
Проектирование, приводящее к противоречиям 159
Производные классы и operator= 71
Производные классы, реализация деструкторов 135
Производные классы, сокрытие имен базовых классов 216
Пространства имен 114
Пространства имен, аппроксимация 116
Пространства имен, потенциальная неоднозначность 115
Пулы памяти 53
Равенство адресов 77
Равенство значений 76
Разделители полей, реализация с помощью виртуальных функций 187
Раздельная компиляция влияние на особенности языка C++ 211 214
Размер классов 45
Размер объектов 138
Размещение объектов в памяти 184
Реализация классов-протоколов 143
Реализация конструкторов и деструкторов производных классов 134
Реализация по умолчанию виртуальных функций, опасность 153
Реализация по умолчанию конструктора копирования 196
Реализация по умолчанию, operator= 196
Реализация, наследование 151
Реализация, отделение от интерфейса 154
Реализация, сокрытие 139
Рекурсивные функции и встраивание 132
Решение проблемы инициализации нелокальных статических объектов 202
Самостоятельное управление памятью 53
Символ подчеркивания, соглашение имен 137
| Синглетон 203
Скалярное произведение 212
Сложности при множественном наследовании 181
Смежные разности 212
Смешанная арифметика 85 87
Смешивание free и delete 32
Смешивание new и malloc 32
Смешивание открытого и закрытого наследования 188
Совместимость с C как цель при создании C++ 213
Совместимость с другими языками и vptr 65
Совмещение имен 57 77 99
Соглашения для имен 24 132 137
Создание локальных объектов 126
Создание объектов по умолчанию в сравнении с конструктором 130
Создание объектов по умолчанию, как избежать 130
Создание с аргументами и без аргументов 130
Создание, этапы 31
Сокрытие реализации класса 139
Спецификация исключений 79
Спецификация исключений, поведение по умолчанию при нарушении 39
Список аргументов и преобразования типов 87
Список инициализации членов класса и конструкторы базового класса 185
Срезы массивов в STL 212
Ссылки и зависимости при компиляции 140
Ссылки на статические объекты значение, возвращаемое функцией 101
Ссылки на указатели и указатели на указатели 26
Ссылки, внутренняя реализация 99
Ссылки, значение 100
Ссылки, как аргументы 97
Ссылки, как дескрипторы недоступных членов классов 122
Ссылки, как тип, возвращаемый функцией 97 98
Ссылки, как члены классов 59
Ссылки, на функции 117
Ссылки, обход ограничений доступа 124
Ссылки, приведение к 73
Стандартная библиотека C 31 206 207 209 211
Стандартная библиотека C++ 206
Стандартная библиотека C++ <iosfwd> 140
Стандартная библиотека C++ basic_ostream, шаблон 207
Стандартная библиотека C++ istream, typedef 208
Стандартная библиотека C++ logic_error 129
Стандартная библиотека C++ max 29
Стандартная библиотека C++ numeric_Jimits 105
Стандартная библиотека C++ ostream, typedef 208
Стандартная библиотека C++ push_back, алгоритм 171
Стандартная библиотека C++ string 21 207
Стандартная библиотека C++ vector 83
Стандартная библиотека C++ vector, шаблон 62 66 83 208
Стандартная библиотека C++ и пространства имен 116
Стандартная библиотека C++, алгоритмы 210
Стандартная библиотека C++, гарантии эффективности 210 211
Стандартная библиотека C++, использование средств выделения памяти 208
Стандартная библиотека C++, итерация по контейнерам 171
Стандартная библиотека C++, контейнерные классы 163 171 210
Стандартная библиотека C++, поддержка диагностики 212
Стандартная библиотека C++, поддержка для срезов массивов 212
Стандартная библиотека C++, поддержка интернационализации 211
Стандартная библиотека C++, поддержка численных вычислений 211
Стандартная библиотека C++, понятие последовательности 210
Стандартная библиотека C++, потоки ввода-вывода 31 209
Стандартная библиотека C++, свойства контейнеров 163
Стандартная библиотека C++, скалярное произведение 212
Стандартная библиотека C++, смежные разности 212
Стандартная библиотека C++, фасеты 211
Стандартная библиотека C++, хэш-таблицы 210
Стандартная библиотека шаблонов (STL) 212
Стандартные имена заголовков 206
Стандартные контейнеры 163
Статические объекты возвращение ссылки 101
Статические типы, определение термина 160
Статические функции, сгенерированные из встраиваемых 133
Статические члены классов 125
Статические члены классов, инициализация 40 61 63
Статические члены классов, инициализация в классах 27
Статические члены классов, использование для аппроксимации пространств имен 116
Статические члены классов, константные функции-члены 93
Статический массив возвращение ссылки 102
Статическое связывание аргументов по умолчанию 161
Статическое связывание невиртуальных функций 159
Стоимость виртуальных базовых классов 184
Стоимость классов-дескрипторов 144
Стоимость классов-протоколов 144
Стоимость неиспользуемых объектов 129
Стоимость неподставляемых встраиваемых функций 133
Стоимость присваивания как удаления плюс создания 103
Стоимость уменьшения зависимостей времени компиляции 144
Стоимость, инициализация и присваивание 60
Строгий контроль типов реализация 178
Строки C и C++стандартные заголовочные файлы 207
Структуры для аппроксимации пространств имен 116
Структуры и конструкторы 173
Теория хаоса 203
Терминология, принятая в этой книге 18
Термины (определения), вложение 169
Термины, динамический тип 161
Термины, динамическое связывание 161
Термины, единица трансляции 201
Термины, класс Чеширский Кот 141
Термины, классы-дескрипторы 140
Термины, классы-конверты 140
Термины, классы-протоколы 141
Термины, множественное наследование 181
Термины, нелокальные статические объекты 202
Термины, отношение «есть разновидность» 146
Термины, отношение «реализуется посредством» 171
Термины, отношение «содержит» 169
Термины, пользователь 23
Термины, понижающее приведение 164
Термины, статический тип 160
Термины, целочисленные типы 27
Тип this 95
Тип преобразования типов 80 86
Тип преобразования типов long int и int 108
Тип преобразования типов и глобальные функции 87
Тип преобразования типов и неоднозначность 110
Тип преобразования типов, неявные 71 84 86 87
Тип преобразования типов, функции-члены 87
Тип, проектирование 79
Типы добавление новых для облегчения обнаружения ошибок 199
Типы закрытые 173
Типы и использование операторов switch в сравнении с виртуальными функциями 64
Типы целочисленные, определение термина 27
Точки останова и встраиваемые функции 136
Удаление объектов и виртуальные деструкторы 63
Указатели const 91
Указатели const в заголовочном файле 27
Указатели const функции 117
Указатели в контейнерах 177
Указатели и зависимости времени компиляции 140
Указатели и обход ограничений доступа 124
Указатели и побитово константные функции-члены 93
Указатели на виртуальную таблицу 65
Указатели на один или несколько объектов и delete 35 58
Указатели на указатели в сравнении со ссылками на указатели 26
Указатели на функции-члены 125
Указатели на члены класса 109
Указатели типа void* 107 175 177
Указатели типа void* и закрытое наследование 179
Указатели типа void* и контроль типов 178
Указатели, наличие нескольких указателей на один объект и деструкторы 178
Указатели-члены и конструкторы копирования 57
Указатели-члены и оператор = 56
Уменьшение зависимостей времени компиляции 136
Управление памятью пользователем и эффективность 51
Условные операторы и виртуальные функции 164
Условные операторы, определение переменных 168
Утечка памяти 36 121 127
Утечка памяти в сравнении с пулами памяти 52
Утечка памяти, примеры 56 101
Утечка памяти, причины возникновения 52
|
|
 |
| Реклама |
 |
|
|