Название: STL для программистов на C++.
Автор: Аммерааль Л.
1999.
Книга посвящена стандартной библиотеке шаблонов (STL) - мощному инструменту повышения эффективности труда программистов, пишущих на C++. Умелое использование STL позволяет повысить надежность, переносимость и универсальность программ, а также снизить расходы на их разработку. В книге описана стандартизованная версия STL.
Дается введение в предмет, которое позволяет быстро освоить библиотеку шаблонов. Приведен исчерпывающий справочный материал, в том числе по новому классу STL, sтring.h. Изложение сопровождается многочисленными примерами небольших, но законченных программ, иллюстрирующих ключевые понятия STL. Особое внимание уделено разъяснению сложных понятий библиотеки шаблонов, например, функциональных объектов и адаптеров функций. Для удобства читателей все приведенные в книге программные примеры доступны также в электронном виде, в частности, на Web-узле издательства «ДМК». Книга предназначена как для профессиональных программистов и тех, кто углубленно изучает C++, так и для тех, кто только начинает осваивать этот язык программирования, без преувеличения самый популярный в мире.
Содержание
Предисловие. 7
1. STL для начинающих. 8
1.1. Шаблоны, пространства имен и тип bool. 8
1.2. Знакомство с STL. 14
1.3. Векторы, списки и двусторонние очереди. 20
1.4. Сортировка. 24
1.5. Алгоритм find. 29
1.6. Алгоритм сору и итератор вставки. 30
1.7. Алгоритм merge. 32
1.8. Типы, определенные пользователем. 34
1.9. Категории итераторов. 35
1.10. Алгоритмы replace и reverse. 41
1.11. Возвращаясь к алгоритму sort. 42
1.12. Введение в функциональные объекты. 43
1.13. Использование find_if, remove и removeif. 45
1.14. Класс auto_ptr. 49
2. Другие алгоритмы и контейнеры. 52
2.1. Алгоритм accumulate. 52
2.2. Алгоритм for_each. 54
2.3. Подсчет. 55
2.4. Функциональные объекты, определенные в STL. 57
2.5. Введение в ассоциативные контейнеры. 59
2.6. Множества и множества с дубликатами. 60
2.7. Словари и словари с дубликатами. 62
2.8. Пары и сравнения. 65
2.9. Снова словари. 67
2.10. Функции insert. 72
2.11. Удаление элементов словаря. 74
2.12. Более удобные строки. 74
3. Последовательные контейнеры. 81
3.1. Векторы и связанные с ними типы. 81
3.2. Функции capacity и reserve. 85
3.3. Обзор функций-членов класса vector. 88
3.4. Двусторонние очереди. 92
3.5. Списки. 94
3.6. Векторы векторов. 101
3.7. Как избавиться от явного выделения памяти. 103
4. Ассоциативные контейнеры.107
4.1. Введение.107
4.2. Функции-члены множеств.111
4.3. Объединение и пересечение множеств.117
4.4. Отличия множеств с дубликатами от просто множеств.119
4.5. Словари. 120
4.6. Словари с дубликатами. 124
4.7. Сводный указатель. 127
5. Адаптеры контейнеров. 131
5.1. Стеки. 131
5.2. Очереди. 134
5.3. Очереди с приоритетами. 135
6. Функциональные объекты и адаптеры. 138
6.2. Функциональные объекты. 138
6.2. Унарные предикаты и привязки. 142
6.3. Отрицатели. 143
6.4. Два полезных базовых класса STL. 145
6.5. Функциональные объекты и алгоритм transform. 147
6.6. Адаптеры итераторов. 150
7. Обобщенные алгоритмы. 155
7.1. Немодифицирующие последовательные алгоритмы. 156
7.1.1. Алгоритмы find, count, for_each, find_first_of и find_end. 156
7.1.2. Алгоритм adjacent_find. 158
7.1.3. Отличие. 160
7.1.4. Сравнение на равенство. 161
7.1.5. Поиск подпоследовательности. 162
7.2. Модифицирующие последовательные алгоритмы. 163
7.2.1. Преобразовать. 163
7.2.2. Копировать. 164
7.2.3. Переместить по кругу. 166
7.2.4. Обменять. 168
7.2.5. Заменить. 170
7.2.6. Удалить. 172
7.2.7. Заполнить. 172
7.2.8. Породить. 173
7.2.9. Убрать повторы. 175
7.2.10. Расположить в обратном порядке. 178
7.2.11. Перетасовать. 178
7.2.12. Разделить. 180
7.3. Алгоритмы, связанные с сортировкой. 181
7.3.1. «Меньше» и другие операции сравнения. 182
7.3.2. Сортировка. 182
7.3.3. Стабильная сортировка. 182
7.3.4. Частичная сортировка. 184
7.3.5. N-й элемент. 186
7.3.6. Двоичный поиск. 187
7.3.7. Объединение. 189
7.3.8. Операции над множествами для сортированных контейнеров. 191
7.3.9. Операции над пирамидами. 194
7.3.10. Минимум и максимум. 197
7.3.11. Лексикографическое сравнение. 199
7.3.12. Генераторы перестановок. 200
7.4. Обобщенные численные алгоритмы. 202
7.4.1. Накопление. 202
7.4.2. Скалярное произведение. 202
7.4.3. Частичная сумма. 204
7.4.4. Разность между смежными элементами. 205
7.5. Прикладная программа: метод наименьших квадратов. 206
8. Прикладная программа: очень большие числа. 211
8.1. Введение. 211
8.2. Реализация класса large. 215
8.3. Вычисление числа к. 229
Библиография. 235
Указатель идентификаторов и английских названий. 236
Предметный указатель.
Введение в функциональные объекты.
Существует другой способ решения задачи сортировки из предыдущего раздела. Хотя для такой простой задачи он и не нужен, обсуждаемые принципы являются важными для других более сложных случаев, поэтому не стоит пропускать этот раздел при чтении. Функциональным объектом называется класс, где определен оператор вызова, который записывается как operator(). От класса не требуется наличия каких-либо других членов.
Давайте начнем с очень простого примера. (Здесь и далее мы пишем iostream.h вместо iostream, поскольку в последнем случае VC5 также требует наличия строчки using namespace std, a BC5, напротив, не позволяет использовать эту строчку, если не включаются типичные заголовки STL, такие как vector.)
Рейтинг: | 4.8 баллов / 2537 оценок |
Формат: | Книга |
Уже скачали: | 12782 раз |
Нам показалось, что Книги ниже Вас заинтересуют не меньше. Эти издания Вы так же можете скачивать и читать совершенно бесплатно на сайте!
Edith Molina ISBN: 9781411641518 Издательство: ludys Год издания: 2005 Страниц: 46 Язык: английский Формат: PDF Размер: 6 Мб Эта книга познакомит вас с искусством миниатюрных вязаных Ted . . .
Дьяков Андрей ISBN: 978-5-17-087956-4 Издательство: АСТ Год издания: 2015 Страниц: 784 Язык: русский Формат: RTF Размер: 12,78 Mb Трилогия «К свету» из межавторского цикла «Вселенная «Ме . . .
Коллектив Издательство: Россия Год издания: 2015 Страниц: 5 мин Язык: русский Формат: Видео Размер: 129,6 Мб Дисбактериоз – это очень распространенное явление: встречается, примерно в 90 . . .
Частный П.М., Лебедев А.С., Беспалов И.И. Издательство: Казахстан Год издания: 1965 Страниц: 295 Язык: русский Формат: DJVU Размер: 28,14 Мб В нашей стране живет много народов. У каждого . . .
Коллектив Издательство: Россия Год издания: 2015 Страниц: 5 мин Язык: русский Формат: Видео Размер: 195,7 Мб Утро только началось, а Вы никак не можете проснуться, собраться и сосредоточи . . .
Marlaina Bird Издательство: LA, Inc Год издания: 2014 Страниц: 62 Язык: английский Формат: PDF Размер: 15 Мб Книга по вязанию крючком является коллекция моды, предназначенных специально д . . .
Ангелов А. ISBN: 978-5-9904782-0-3 Издательство: Deluxe Год издания: 2013 Страниц: 60 Язык: русский Формат: RTF Размер: 1.2 Мб Главный герой заключает пари, не подозревая о том, что став . . .
Барагамян (гл. ред.) Издательство: ИД «Комсомольская правда» Год издания: 2010-2013 Страниц: 98 в каждом номере Язык: русский Формат: PDF Размер: 4 Gb Можно, разумеется, посетить некоторы . . .
Издательство: Газетный мир Год издания: 2011, 2013-2014 Страниц: 400 Язык: русский Формат: PDF Размер: 200 Мб Известный в древности Гиппократ говорил, что лекарством должна быть пища, а пищ . . .
Побережник Николай ISBN: 978-5-516-00304-2 Издательство: ИД Ленинград Год издания: 2015 Страниц: 384 Язык: русский Формат: RTF Размер: 11,01 Mb Все произошло ровно, как в той сказке «Про . . .
Если вы хотите скачивать книги, журналы и аудиокниги бесплатно, без рекламы и без смс, оставлять комментарии и отзывы, учавствовать в различных интересных мероприятиях, получать скидки в книжных магазинах и многое другое, то Вам необходимо зарегистрироваться в нашей Электронной Библиотеке.
К сожалению, в нашей Бесплатной Библиотеке пока нет отзывов о Книге STL для программистов на C++ - Аммерааль Л.. Помогите нам и другим читателям окунуться в сюжет Книги и узнать Ваше мнение. Оставьте свой отзыв или обзор сейчас, это займет у Вас всего-лишь несколько минут.