Главная | Регистрация | Вход
Воскресенье, 22.12.2024, 05:18
Меню сайта
Категории каталога
Pascal [2]
Basic [1]
HTML [2]
PHP [1]
Java [1]
C [2]
Assembler [3]
Delphi [0]
Windows [1]
Hard&Soft [1]
Математика [4]
Физика, электротехника [1]
Иностранные языки [1]
Реклама
 
RussianFeme.Com
 
RussianFeme.Com
 
 
Главная » Файлы » Книги, учебники » C

C++ [Автор: Элджер Джефф]
[ .::Скачать>>> (1.74 Mb) ] 03.03.2008, 09:08
C++ [Автор: Элджер Джефф]
 
Содержание
БЛАГОДАРНОСТИ........................................................................................................................................ 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
Категория: C | Добавил: corle0nis
Просмотров: 1036 | Загрузок: 116 | Рейтинг: 0.0/0 |

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта

Счётчик
 
 
Copyright corle0nis © 2024
Создать бесплатный сайт с uCoz