Центральный Дом Знаний - Джефф Элджер., Библиотека программиста. С++

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Я учусь (закончил(-а) в
Всего ответов: 2653

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Логин:
Пароль:

Джефф Элджер., Библиотека программиста. С++

Джефф Элджер

Содержание
БЛАГОДАРНОСТИ.........................................................................................................................................9
Извинения ... или вроде того.....................................................................................................................9
ЧАСТЬ 1. ВВЕДЕНИЕ И КРАТКИЙ ОБЗОР............................................................................................11
ГЛАВА 1. ЗАЧЕМ НУЖНА ЕЩЕ ОДНА КНИГА О С++?....................................................................13
ДАО С++......................................................................................................................................................... 13
Три великие идеи С++................................................................................................................................15
Как читать эту книгу................................................................................................................................16
Несколько слов о стиле программирования......................................................................................17
ГЛАВА 2. СИНТАКСИС С++......................................................................................................................19
Переменные и конст ант ы........................................................................................................................19
const............................................................................................................................................................19
Стековые и динамические объекты.......................................................................................................23
Области действия и функции..................................................................................................................25
Области действия....................................................................................................................................25
Перегрузка.................................................................................................................................................28
Видимость.................................................................................................................................................29
Типы и операторы......................................................................................................................................33
Конструкторы..........................................................................................................................................33
Деструкторы............................................................................................................................................40
Присваивание............................................................................................................................................41
Перегрузка операторов............................................................................................................................46
ГЛАВА 3. ШАБЛОНЫ И БЕЗОПАСНОСТЬ ТИПОВ............................................................................55
Что такое шаблоны и зачем они нужны?.............................................................................................55
Проблемы...................................................................................................................................................55
Обходные решения....................................................................................................................................56
Шаблоны — усовершенствованные макросы........................................................................................56
Синтаксис шаблонов................................................................................................................................57
Параметризованные типы......................................................................................................................57
Параметризованные функции.................................................................................................................57
Параметризованные функции классов...................................................................................................58
Передача параметра................................................................................................................................58
Шаблоны с несколькими параметрами..................................................................................................59
Долой вложенные параметризованные типы!......................................................................................59
Наследование.............................................................................................................................................59
Комбинации прост ых и парамет ризованных типов.........................................................................59
Небезопасные типы в открытых базовых классах..............................................................................60
Небезопасные типы в закрытых базовых классах................................................................................60
Небезопасные типы в переменных класса.............................................................................................60
ГЛАВА 4. ИСКЛЮЧЕНИЯ..........................................................................................................................63
Обработка исключений в стандарте ANSI...........................................................................................63
Синтаксис инициирования исключений..................................................................................................63
Синтаксис перехвата исключений..........................................................................................................66
Конструкторы и деструкторы...............................................................................................................67
Нестандартная обработка исключений...............................................................................................69
Условные обозначения.............................................................................................................................69
ЧАСТЬ 2. КОСВЕННЫЕ ОБРАЩЕНИЯ..................................................................................................71
ГЛАВА 5. УМНЫЕ УКАЗАТЕЛИ...............................................................................................................73
Глупые указатели......................................................................................................................................73
Умные указатели как идиома.................................................................................................................75
Оператор ->.............................................................................................................................................75
Параметризованные умные указатели...................................................................................................75
Иерархия умных указателей....................................................................................................................76
Арифметические операции с указателями.............................................................................................77
Во что обходится умный указатель?.....................................................................................................78
Применения.................................................................................................................................................78
Разыменование значения NULL...............................................................................................................78
Отладка и трассировка...........................................................................................................................80
Кэширование..............................................................................................................................................82
ГЛАВА 6. ВЕДУЩИЕ УКАЗАТЕЛИ И ДЕСКРИПТОРЫ.....................................................................85
Семантика ведущих указателей............................................................................................................85
Конструирование......................................................................................................................................86
Уничтожение............................................................................................................................................87
Копирование...............................................................................................................................................87
Присваивание.............................................................................................................................................88
Прототип шаблона ведущего указателя...............................................................................................89
Дескрипторы в C++.....................................................................................................................................90
Что же получается?...................................................................................................................................90
Подсчет объектов....................................................................................................................................90
Указатели только для чтения.................................................................................................................92
Указатели для чтения/записи..................................................................................................................92
ГЛАВА 7. ГРАНИ И ДРУГИЕ МУДРЫЕ УКАЗАТЕЛИ......................................................................... 93
Инт ерфейсные указатели.........................................................................................................................93
Дублирование интерфейса.......................................................................................................................93
Маскировка указываемого объекта........................................................................................................94
Изменение интерфейса............................................................................................................................96
Грани.............................................................................................................................................................96
Преобразование указываемого объекта в грань....................................................................................97
Кристаллы.................................................................................................................................................98
Вариации на тему граней.........................................................................................................................99
Инкапсуляция указываемого объекта...................................................................................................102
Проверка граней......................................................................................................................................103
Обеспечение согласованности...............................................................................................................103
Грани и ведущие указатели....................................................................................................................105
Переходные т ипы.....................................................................................................................................106
Полиморфные указываемые объекты...................................................................................................106
Выбор типа указываемого объекта во время конструирования.......................................................107
Изменение указываемого объекта во время выполнения программы................................................107
Посредники................................................................................................................................................107
Функторы....................................................................................................................................................108
ГЛАВА 8. КОЛЛЕКЦИИ, КУРСОРЫ И ИТЕРАТОРЫ.......................................................................111
Массивы и оператор []..........................................................................................................................111
Проверка границ и присваивание...........................................................................................................111
Оператор [] с нецелыми аргументами...............................................................................................112
Имитация многомерных массивов........................................................................................................112
Множественные перегрузки оператора []........................................................................................113
Виртуальный оператор []....................................................................................................................113
Курсоры......................................................................................................................................................114
Простой класс разреженного массива................................................................................................. 114
Курсоры и разреженные массивы......................................................................................................... 115
Операторы преобразования и оператор ->........................................................................................ 116
Что-то знакомое...................................................................................................................................117
Итераторы..................................................................................................................................................117
Активные итераторы............................................................................................................................ 118
Пассивные итераторы .......................................................................................................................... 118
Что лучше? ............................................................................................................................................. 119
Убогие, но распространенные варианты............................................................................................119
Лучшие варианты...................................................................................................................................120
Итератор абстрактного массива....................................................................................................... 121
Операторы коллекций.............................................................................................................................123
Мудрые курсоры и надежность итераторов.......................................................................................124
Частные копии коллекций...................................................................................................................... 126
Внутренние и внешние итераторы ...................................................................................................... 127
Временная пометка................................................................................................................................ 129
Пример..................................................................................................................................................... 131
ГЛАВА 9. ТРАНЗАКЦИИ И ГЕНИАЛЬНЫЕ УКАЗАТЕЛИ .............................................................. 137
Тернист ые пути дизайна........................................................................................................................137
Транзакции...............................................................................................................................................137
Отмена....................................................................................................................................................138
Хватит?..................................................................................................................................................138
Образы и указатели.................................................................................................................................138
Простой указатель образов.................................................................................................................. 139
Стеки образов......................................................................................................................................... 140
Образы автоматических объектов...................................................................................................... 141
Образы указателей................................................................................................................................. 144
Комбинации и вариации ......................................................................................................................... 145
Транзакции и отмена..............................................................................................................................145
Транзакции и блокировки ....................................................................................................................... 146
Класс ConstPtr.........................................................................................................................................147
Класс LockPtr..........................................................................................................................................149
Создание и уничтожение объектов ..................................................................................................... 150
Упрощенное создание объектов............................................................................................................ 151
Отмена.................................................................................................................................................... 152
Варианты...................................................................................................................................................152
Вложенные блокировки.......................................................................................................................... 152
Взаимные блокировки и очереди............................................................................................................ 153
Многоуровневая отмена ........................................................................................................................ 154
Оптимизация объема............................................................................................................................. 154
Несколько прощальных слов................................................................................................................155
ЧАСТЬ 3. СНОВА О ТИПАХ.....................................................................................................................157
ГЛАВА 10. МНОЖЕСТВЕННАЯ ПЕРЕДАЧА.......................................................................................159
Гомоморфные иерархии классов.........................................................................................................159
Взаимозаменяемость производных классов.........................................................................................160
Нормальное наследование......................................................................................................................160
Инкапсуляция производных классов......................................................................................................161
Множественная передача.....................................................................................................................162
Двойная передача.................................................................................................................................... 163
Гетероморфная двойная передача........................................................................................................ 164
Передача более высокого порядка......................................................................................................... 165
Группировка передач и преобразования................................................................................................ 166
Это еще не все...........................................................................................................................................167
ГЛАВА 11. ПРОИЗВОДЯЩИЕ ФУНКЦИИ И ОБЪЕКТЫ КЛАССОВ............................................169
Производящие функции..........................................................................................................................169
make-функции..........................................................................................................................................170
Символические классы и перегруженные make-функции....................................................................170
Оптимизация с применением производящих функций.........................................................................170
Локализованное использование производящих функций...................................................................... 171
Уничтожающие функции ...................................................................................................................... 172
Снова о двойной передаче: промежуточные базовые классы............................................................172
Нет — конструкторам копий и оператору =!....................................................................................173
Объект ы классов......................................................................................................................................173
Информация о классе.............................................................................................................................. 174
Еще несколько слов об уничтожающих функциях...............................................................................175
Определение класса по объекту............................................................................................................ 176
Представители..........................................................................................................................................177
ГЛАВА 12. НЕВИДИМЫЕ УКАЗАТЕЛИ................................................................................................ 179
Основные концепции..............................................................................................................................179
Инкапсуляция указателей и указываемых объектов...........................................................................180
Производящие функции..........................................................................................................................180
Ссылки на указатели..............................................................................................................................181
Неведущие указатели.............................................................................................................................181
Ведущие указатели.................................................................................................................................183
Снова о двойной передаче.....................................................................................................................184
Удвоенная двойная передача..................................................................................................................185
Самомодификация и переходимость....................................................................................................187
Множественная двойная передача.......................................................................................................189
Применение невидимых указателей...................................................................................................189
Кэширование............................................................................................................................................189
Распределенные объекты и посредники...............................................................................................189
Нетривиальные распределенные архитектуры...................................................................................189
ЧАСТЬ 4. УПРАВЛЕНИЕ ПАМЯТЬЮ.................................................................................................... 191
ГЛАВА 13. ПЕРЕГРУЗКА ОПЕРАТОРОВ УПРАВЛЕНИЯ ПАМЯТЬЮ.........................................193
Перегрузка операторов new и delete...................................................................................................193
Простой список свободной памяти......................................................................................................193
Наследование операторов new и delete.................................................................................................196
Аргументы оператора new....................................................................................................................197
Конструирование с разделением фаз....................................................................................................197
Уничтожение с разделением фаз..........................................................................................................198
Кто управляет выделением памяти?...................................................................................................199
Глобальное управление............................................................................................................................199
Выделение и освобождение памяти в классах..................................................................................... 200
Управление памятью под руководством клиента............................................................................... 200
Объекты классов и производящие функции ......................................................................................... 200
Управление памятью с применением ведущих указателей................................................................. 200
Перспективы ........................................................................................................................................... 204
ГЛАВА 14. ОСНОВЫ УПРАВЛЕНИЯ ПАМЯТЬЮ..............................................................................205
Ст роит ельные блоки................................................................................................................................205
Поблочное освобождение памяти........................................................................................................205
Скрытая информация............................................................................................................................208
Списки свободных блоков.......................................................................................................................208
Подсчет ссылок........................................................................................................................................210
Базовый класс с подсчетом ссылок......................................................................................................210
Укзатели с подсчетом ссылок..............................................................................................................211
Ведущие указатели с подсчетом ссылок ............................................................................................. 211
Дескрипторы с подсчетом ссылок ....................................................................................................... 212
Трудности подсчета ссылок ................................................................................................................. 213
Подсчет ссылок и ведущие указатели.................................................................................................. 213
Прост рантсва памяти.............................................................................................................................214
Деление по классам.................................................................................................................................214
Деление по размеру.................................................................................................................................215
Деление по способу использования........................................................................................................ 215
Деление по средствам доступа............................................................................................................. 215
Пространства стека и кучи.................................................................................................................. 216
ГЛАВА 15. УПЛОТНЕНИЕ ПАМЯТИ.....................................................................................................217
Поиск указателей....................................................................................................................................217
Мама, откуда берутся указатели?......................................................................................................217
Поиск указателей...................................................................................................................................220
Дескрипторы, повсюду дескрипторы..................................................................................................223
Общее описание архитектуры..............................................................................................................223
Ведущие указатели.................................................................................................................................223
Вариации.................................................................................................................................................. 227
Оптимизация в особых ситуациях........................................................................................................ 229
Алгоритм Бейкера....................................................................................................................................229
Пространства объектов.......................................................................................................................229
Последовательное копирование............................................................................................................232
Внешние объекты...................................................................................................................................233
Алгоритм Бейкера: уход и кормление в C+ +.......................................................................................234
Уплотнение на месте..............................................................................................................................236
Базовый класс VoidPtr............................................................................................................................236
Пул ведущих указателей........................................................................................................................237
Итератор ведущих указателей............................................................................................................238
Алгоритм уплотнения............................................................................................................................238
Оптимизация...........................................................................................................................................239
Последовательное уплотнение на месте.............................................................................................239
Перспективы.............................................................................................................................................239
ГЛАВА 16. СБОРКА МУСОРА.................................................................................................................241
Доступность..............................................................................................................................................241
Периметр................................................................................................................................................ 241
Внутри периметра ................................................................................................................................. 242
Анализ экземпляров................................................................................................................................. 243
Перебор графа объектов.......................................................................................................................244
Сборка мусора по алгоритму Бейкера................................................................................................245
Шаблон слабого дескриптора...............................................................................................................245
Шаблон сильного дескриптора.............................................................................................................245
Итераторы ведущих указателей..........................................................................................................246
Перебор указателей...............................................................................................................................248
Оптимизация...........................................................................................................................................251
Внешние объекты...................................................................................................................................251
Множественные пространства........................................................................................................... 251
Сборка мусора и уплотнение на месте ................................................................................................ 251
Нужно ли вызывать деструкторы? .................................................................................................... 252
Только для профессиональных каскадеров.....................................................................................252
Концепции «матери всех объектов»....................................................................................................252
Организация памяти..............................................................................................................................253
Поиск периметра....................................................................................................................................254
Перебор внутри периметра...................................................................................................................254
Сборка мусора.........................................................................................................................................255
Последовательная сборка мусора.........................................................................................................255
Итоговые перспективы...........................................................................................................................255
ПРИЛОЖЕНИЕ. JAVA ПРОТИВ C++.....................................................................................................257
Loading

Календарь

«  Май 2019  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24