Главная    Ex Libris    Книги    Журналы    Статьи    Серии    Каталог    Wanted    Загрузка    ХудЛит    Справка    Поиск по индексам    Поиск    Форум   
blank
Авторизация

       
blank
Поиск по указателям

blank
blank
blank
Красота
blank
Мейерс С. — Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов
Мейерс С. — Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов



Обсудите книгу на научном форуме



Нашли опечатку?
Выделите ее мышкой и нажмите Ctrl+Enter


Название: Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов

Автор: Мейерс С.

Аннотация:

В книге приводятся практические рекомендации по проектированию и программированию на языке C++. Изложены правила, позволяющие программисту сделать выбор между различными методами реализации программы - наследованием и шаблонами, шаблонами и указателями на базовые классы, открытым и закрытым наследованием, закрытым наследованием и вложенными классами, виртуальными и невиртуальными функциями и т.п. Для иллюстрации всех принципов используются новейшие языковые средства из стандарта ISO/ANSI C++ - внутриклассовая инициализация констант, пространства имен и шаблоны-члены класса. Рассматривается стандартная библиотека шаблонов и классы, подобные string и vector.


Язык: ru

Рубрика: Computer science/

Статус предметного указателя: Готов указатель с номерами страниц

ed2k: ed2k stats

Год издания: 2000

Количество страниц: 240

Добавлена в каталог: 23.07.2006

Операции: Положить на полку | Скопировать ссылку для форума | Скопировать ID
blank
Предметный указатель
Динамический тип      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
1 2 3 4
blank
Реклама
blank
blank
HR
@Mail.ru
       © Электронная библиотека попечительского совета мехмата МГУ, 2004-2024
Электронная библиотека мехмата МГУ | Valid HTML 4.01! | Valid CSS! О проекте