|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Мейерс С. — Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов |
|
|
Предметный указатель |
Динамический тип 161
Динамическое приведение типов 167
Динамическое связывание, определение термина 161
Динамическое связывание, функции 159
Директива #define в сравнении с const 27
Директива #define и встраиваемые функции 28
Директива #define и комментарии 33
Директива #define и отладчики 27
Директива #define, недостатки 26
Директива #ifdef 29
Директива #ifndef 29
Директива #include 29
Директива #include и зависимости при компиляции 137 140
Доминирование виртуальных функций 185
Доступ, ограничения и наследование 112
Дружественные функции 87
Дружественные функции и интерфейс 84
Дублирование кода, как избежать 106 177
Единица трансляции 132 201
Зависимости времени компиляции и определения классов 139
Зависимости времени компиляции, минимизация 136
Зависимости времени компиляции, указатели, ссылки и объекты 140
Заголовки <assert.h> 37
Заголовки <cassert> 37
Заголовки <complex.h> 206
Заголовки <complex> 206
Заголовки <cstdio> 206
Заголовки <cstdlib> 122
Заголовки <cstring> 206
Заголовки <float.h> 104
Заголовки <iostream.h> 206
Заголовки <iostream> 206
Заголовки <iostream> и <iostream.h> 31 206
Заголовки <limits.h> 104 206
Заголовки <limits> 105
Заголовки <new> 38
Заголовки <stdio.h> 206
Заголовки <stdlib.h> 122
Заголовки <string.h> 32 206
Заголовочные файлы и встраивание функций 132
Заголовочные файлы и конфликты имен 114
Заголовочные файлы и пространства имен 116
Заголовочные файлы, размер и скорость компиляции 82
Закрытое наследование 176 194
Закрытое наследование и вложение 177
Закрытое наследование и указатели void* 179
Закрытое наследование, перегрузка виртуальных функций 188
Закрытые конструкторы 200
Закрытые функции 61 113 85
Замена определения объявлением 139
Запрет копирования 57
Запрет присваивания 57
Засорение пространств имен, как избежать 143
Защищенное наследование 147
Защищенные функции-члены 155 179
Значение вложения 169
Значение закрытого наследования 176 177
Значение классов без виртуальных функций 65
Значение наличия общих базовых классов 194
Значение невиртуальных функций 157 194
Значение неопределенного поведения 32
Значение обычных виртуальных функций 153
Значение открытого наследования 146
Значение передачи параметров по значению 21
Значение ссылок 100
Значение чисто виртуальных функций 152
Импорт пространств имен 114
Инварианты относительно специализации 157
Инициализация в сравнении с присваиванием 21 130
Инициализация в сравнении с присваиванием, вопросы поддержания кода 61
Инициализация и виртуальные базовые классы 185
Инициализация констант, определенных в классе 27
Инициализация константных статических членов 27
Инициализация объектов 21
Инициализация посредством копирования 196
Инициализация с аргументами и без них 130
Инициализация статических объектов внутри функций 203
Инициализация статических указателей нулем 51
Инициализация статических членов 40 61 63
Инициализация членов классов 196
Инициализация членов классов объявленных с const 59
Инициализация членов классов ссылок 59
Инициализация членов классов, порядок 62
Инициализация, определение термина 21
Интернационализация, стандартная библиотека C++ 211
Интернационализация, стандартные потоки ввода/вывода 209
Интерфейс в Java 185
Интерфейс и дружественные функции 84
Интерфейс и реализация 137
Интерфейс минимальный 80 171
Интерфейс полный 80 171
Интерфейс с контролем типов 178
Интерфейс, наследование 151
Интерфейс, отделение от реализации 154
Интерфейс, пример проектирования 82
Интерфейс, соображения при проектировании 80
Исключения 129
Исключения, приводящие к неиспользуемым объектам 129
Исключения, стандартная иерархия 212
Исключения, стандартные потоки ввода-вывода 209
Итераторы в стандартной библиотеке 212
Итераторы и контейнеры стандартной библиотеки 171
Итераторы, примеры использования 163—168
Классы абстрактные 67 152
Классы и зависимость объекта от типа 172
Классы интерфейсные для контроля типов 178
Классы интерфейсные, эффективность 180
Классы тела 140
Классы, дескрипторы 140
Классы, имеющие общие свойства 192
Классы, интерфейсы 178
Классы, интерфейсы, эффективность 180
Классы, конверты и письма 140
Классы, константы в них 27
Классы, объявления 18
Классы, объявления и определения 139
Классы, определения 19
Классы, порядок инициализации 63
Классы, проектирование 79
Классы, протоколы 141 162 186
Классы, реализующие контейнеры 177
Классы, сокрытие реализации 139
Классы, строки 21
Классы, Чеширские Коты 141
Книги The Draft International Standard for C++ 214
Книги, C++ Strategies and Tactics 12
Книги, Designing and Coding Reusable C++ 12
Книги, Large-Scale C++ Software Design 12
Книги, Taligents Guide to Designing Programs 12
Книги, The C++ Programming Language 12
Код и кажущаяся эффективность 99 120 124 126
Код, дублирование 106 177
Код, дублирование и невстраиваемые inline-функции 133
Код, повторное использование 187
Код, повторное использование и плохое проектирование 190
Код, раздувание из-за шаблонов 177
Код, размер и встраивание функций 131
Комментарии в стиле C и C++ 33
Комментарии внутри комментариев 33
Комментарии и #define 33
Комментарии, как обойтись без комментариев 131
Компилятор предупреждения 205
Компилятор сообщения для неименованных классов 109
Константность концептуальная 94
Константность побитовая 93
Константы 27
Константы, определение внутри классов 27
Конструктор копирования 106
Конструктор копирования и наследование 74
Конструктор копирования неявно сгенерированный 195
| Конструктор копирования, возврат по значению 20
Конструктор копирования, запрет использования 57
Конструктор копирования, логика поведения по умолчанию 214
Конструктор копирования, мотивация объявления закрытым 57
Конструктор копирования, определение по умолчанию 196
Конструктор копирования, передача по значению 20 79 96
Конструктор копирования, побитовое копирование 57 196
Конструктор копирования, почленное копирование 196
Конструктор копирования, указатели - члены класса 57
Конструкторы 79
Конструкторы explicit 70 80 86
Конструкторы explicit, примеры 86
Конструкторы закрытые 200
Конструкторы и malloc 31
Конструкторы и new 35
Конструкторы и operator new 135
Конструкторы и встраивание функций 134
Конструкторы и определения объектов 129
Конструкторы и структуры 173
Конструкторы неявно генерируемые 195
Конструкторы по умолчанию 19 106
Конструкторы, вызов вручную 135
Конструкторы, инициализация статических членов класса 61 63
Конструкторы, копирование 20 106
Конструкторы, массивы объектов 19
Конструкторы, передача аргументов 185
Контейнеры стандартной библиотеки 163 210
Контейнеры, основанные на указателях 177
Контейнеры, свойства 163
Контроль доступа к членам класса 89
Контроль доступа к элементам данных 89
Контроль типов 178
Конфликты имен 114
Концептуально константные функции-члены 94
Корректность присваивания самому себе 74
Кэш, коэффициент попадания и встраивание функций 131
Локали, стандартная библиотека C++ 211
Локальные объекты статические 203
Локальные объекты, создание и удаление 126
Локальные переменные, определение 129
Локальные статические объекты 203
Магические числа 106
Макрос ASSERT 37
Макрос assert и NDEBUG 37
Маленькие объекты, передача 99
Маленькие объекты, размещение в памяти 48
Массивы и new 45
Массивы, объекты с конструкторами 19
Математика и наследование 150
Минимальное значение для встроенных типов 104
Минимальность интерфейса 171
Минимальность интерфейса, плюсы и минусы 81
Множественное наследование 181
Множественное наследование и библиотеки 184
Множественное наследование и доминирование виртуальных функций 185
Множественное наследование и неоднозначность 111 181 185
Множественное наследование и порядок инициализации классов 63
Множественное наследование и ясновидение 184
Множественное наследование, комбинация из public и private 188
Множественное наследование, плохое проектирование 190
Множественное наследование, размещение в памяти 184
Множественное наследование, сложности 181
Множественное наследование, споры вокруг 181
Модификация значения, возвращаемого функцией 93
Наследование в комбинации с шаблонами 41
Наследование в сравнении с шаблонами 172
Наследование защищенное 147
Наследование и интуиция 147
Наследование и математика 150
Наследование и ограничения доступа 111
Наследование и оператор 71
Наследование и оператор new 44
Наследование и переопределение невиртуальных функций 158
Наследование интерфейса 151
Наследование общих свойств 154 192
Наследование примесей 41
Наследование реализации 151
Наследование случайное, ошибочное 155
Наследование, когда использовать 175
Наследование, конструкторы копирования 73
Наследование, пингвины и другие птицы 147
Наследование, преимущества 154
Наследование, прямоугольники и квадраты 149
Невиртуальные базовые классы 185
Невиртуальные деструкторы 82
Невиртуальные деструкторы и удаление объектов 63
Невиртуальные функции 158
Невиртуальные функции, значение 194
Невиртуальные функции, статическое связывание 159
Неименованные классы и диагностика компилятора 109
Неиспользуемые объекты при генерации исключения 129
Неиспользуемые объекты, стоимость 129
Некорректный код и эффективность 99 120 124 126
Нелокальные статические объекты 117 202
Ненужные объекты, как избежать 130
Неоднозначность и библиотеки 110
Неоднозначность и множественное наследование 111 181 185
Неоднозначность и преобразования типов 110
Неоднозначность и ромбы в иерархии наследования 185
Неоднозначность потенциальная 110
Неоднозначность, преднамеренное введение 108
Неопределенное поведение и висящие указатели на временные объекты 123
Неопределенное поведение и неинициализированные объекты 200 201
Неопределенное поведение и неинициализированные указатели 201
Неопределенное поведение и порядок инициализации нелокальных статических объектов 202
Неопределенное поведение и удаление производных объектов посредством указателей на базовые 64 66
Неопределенное поведение при возвращении ссылки на локальные объекты 127
Неопределенное поведение при отбрасывании константности действительно константных объектов 96
Неопределенное поведение при работе с удаленными объектами 76
Неопределенное поведение при удалении удаленных указателей 57
Неопределенное поведение, значение 32
Неопределенное поведение, смешивание new/delete и malloc/free 32
Неопределенное поведение, удаление массивов посредством delete для немассивов 35
Неопределенное поведение, удаление объектов посредством delete для массивов 35
Несколько указателей на один объект и деструкторы 178
Неявно генерируемые функции 195
Новые формы приведения типов 23
Ноль, как int 107
Ноль, как указатель 107
Нулевой указатель и delete 36
Нулевой указатель и set_new_handler 39
Нулевой указатель, удаление 45
Область видимости 40 116
Обновление библиотек в бинарном виде и встраивание функций 135
Обработчик new, деинсталляция 39
Обработчик new, определение термина 38
Обработчик new, получение 44
Общие базовые классы, наличие значения 194
Общие свойства 154 192
Общие свойства и наследование 154 192
Объектно-ориентированное проектирование 145
Объектно-ориентированное проектирование, преимущества 154
Объектно-ориентированное проектирование, распространенные ошибки 157
Объекты зависимости времени компиляции 139
Объекты маленькие, передача 99
Объекты, время жизни по возвращении из функций 122
Объекты, инициализация 21
Объекты, копирование, запрет 57
Объекты, массивы 19
Объекты, объявления 18
Объекты, определения 19 129
Объекты, определения и конструкторы 129
Объекты, ошибка при подсчете 84
Объекты, подсчет 63
Объекты, присваивание 22
Объекты, равенство 76
Объекты, размеры, определение 138
Объекты, схема размещения в памяти 184
Объекты, тождественность 76
Объявления 18
|
|
|
Реклама |
|
|
|