Введение в стандартную библиотеку шаблонов C++. Описание, примеры использования, учебные задачи

Введение в стандартную библиотеку шаблонов C++. Описание, примеры использования, учебные задачи

Учебник состоит из трех основных разделов. Первый раздел содержит описание стандартной библиотеки шаблонов C++, во втором приводятся примеры ее применения, а третий представляет собой задачник из 300 учебных заданий, охватывающих все разделы стандартной библиотеки. При описании библиотеки учитываются нововведения стандарта С++11. В четвертом, дополнительном разделе дается обзор средств электронного задачника Programming Taskbook for STL, позволяющих выполнять учебные задания более быстро и эффективно.

Для студентов бакалавриата, обучающихся по направлению подготовки 02.03.02 «Фундаментальная информатика и информационные технологии».

Жанры: Программы, Программирование, Книги о компьютерах
Цикл: Не является частью цикла
Год публикации: Неизвестен

Читать онлайн Введение в стандартную библиотеку шаблонов C++. Описание, примеры использования, учебные задачи


Предисловие

Книга, предлагаемая вашему вниманию, представляет собой практико-ориентированный учебник по стандартной библиотеке шаблонов языка C++. Для библиотеки шаблонов часто используется название STL (Standard Template Library), которое является неформальным, однако позволяет отличить ее от остальных частей стандартной библиотеки C++. Начиная с 1998 г. библиотека STL входит в стандарт C++ ISO/IEC 14882 (C++98); она содержит средства для создания и преобразования различных структур данных и использует технологию обобщенного программирования. Архитектура библиотеки STL базируется на трех основных компонентах: контейнерах, итераторах и алгоритмах. Контейнеры предназначены для хранения наборов объектов в памяти; STL включает две группы контейнеров: последовательные и ассоциативные, в каждую группу входят контейнеры с различными свойствами, что позволяет выбирать контейнер, наиболее подходящий для решения поставленной задачи. Итераторы обеспечивают унифицированные средства доступа к содержимому контейнера. Благодаря концепции итераторов, базирующейся на средствах обобщенного программирования, оказалось возможным реализовать универсальные алгоритмы – вычислительные процедуры, предназначенные для анализа и преобразования контейнеров. Один и тот же алгоритм может быть применен к любым контейнерам, обладающим требуемыми для этого алгоритма свойствами (точнее, имеющим итераторы того типа, который необходим для корректной работы алгоритма). Еще одной составной частью библиотеки STL являются функциональные объекты, представляющие собой обобщения функций и фигурирующие во многих алгоритмах. В пересмотренном стандарте C++ ISO/IEC 14882:2011 (C++11) библиотека STL была дополнена рядом новых возможностей.

Библиотека STL является одной из наиболее трудных для изучения частей стандартной библиотеки С++. Во-первых, это достаточно большая часть стандартной библиотеки: она включает 5 основных видов итераторов, а также их модификации, 7 основных и ряд дополнительных контейнеров, около 70 (в стандарте C++11 – около 90) алгоритмов, большинство из которых реализовано в нескольких вариантах, и большое число стандартных функциональных объектов. Во-вторых, архитектура библиотеки STL основана на шаблонах – весьма сложном разделе языка C++ [3]. Следует заметить, что особенности механизма шаблонов языка C++ затрудняют поиск и исправление ошибок, допущенных при использовании средств библиотеки STL (в частности, сообщения компилятора об ошибке нередко связываются с фрагментами стандартного программного кода, а не с теми операторами разрабатываемой программы, в которых фактически была допущена ошибка). В то же время библиотека STL относится к тем основным частям стандартной библиотеки, владение которыми является обязательным условием для квалифицированной разработки программ на языке C++.

По библиотеке STL имеется обширная учебная литература, в том числе и на русском языке. Можно отметить книги [2, 4, 6, 7], целиком посвященные STL, а также соответствующие разделы в известных учебниках [5, 8]. Однако очень немногие издания содержат наборы упражнений, позволяющие закрепить полученные знания (в частности, из перечисленных книг упражнения содержат лишь учебники универсального содержания [5, 8]). При этом предлагаемые упражнения не охватывают все возможности библиотеки и являются достаточно сложными, что затрудняет их использование при проведении лабораторных занятий. Настоящее издание призвано восполнить этот пробел. Помимо компактного, но в то же время достаточно подробного описания всех элементов стандартной библиотеки шаблонов, приведенного в разделе 1, а также примеров их применения (которым посвящен раздел 2), оно содержит набор из 300 задач по всем основным разделам стандартной библиотеки и, таким образом, позволяет не только ознакомиться с ее возможностями, но и освоить эту библиотеку на практике. Задачи разбиты на 7 групп; содержание групп, их особенности и формулировки всех задач приведены в разделе 3.


Вам будет интересно
Обязательно тем, кому от 18 до 22. Важно для 30+. Для 40+ точно не помешает, плюс еще и дети растут. Это уже «медицинский» факт – рынок труда (профессий соответственно) в ближайшие 5 лет изменится до неузнаваемости. Тут нет злой воли – просто мы все выросли. Книга будет полезна не только разработчикам компьютерных игр, но и маркетологам и специалистам по рекламе Не надо быть пророком, чтобы на пальцах определить пять-семь секторов, в которых будет бурный рост в ближайшие несколько лет. Одна из т...
Читать онлайн
В этом издании подробно рассказывается о том, что повлияло на развитие современных видеоигр; также показано, что общего между ними и некомпьютерными играми. Своё исследование известный разработчик игр основывает на теории развлечений, показывая, почему именно способность доставлять удовольствие определяет значимость игры.Книга будет интересна широкому кругу читателей, интересующихся компьютерными играми в целом, теорией игр и психологией игры. Если вы разработчик игр или заядлый геймер, это изда...
Читать онлайн
Практическое иллюстрированное руководство по программе OneNote для Windows 10.Интересные примеры практического использования, лайфхаки и описание новых функций.Книга обновлена в октябре 2021 года....
Читать онлайн
Книга посвящена современным технологиям постобработки цифровых фотографий, начиная от элементарных приемов редактирования изображений и до продвинутых (Фурье-анализ, вейвлет-анализ, градиентные поля и другие). Теории, на которых основаны эти технологии, изложены на уровне идей, без формул, а их применение проиллюстрировано обработкой фотографий автора (более 170 фотографий и рисунков). Описаны компьютерные программы (которые можно скачать из интернета), реализующие указанные технологии. Кроме эт...
Читать онлайн
В чем формула успешной игры? У вас есть идея, команда разработчиков, готовых вкладывать в проект все свои силы, талантливые дизайнеры, но проект не приносит прибыли, а пользователи не спешат в него возвращаться? А вы точно не забыли про аналитику? Василий Сабиров, сооснователь аналитической платформы devtodev, знает, как сделать так, чтобы ваша игра чувствовала себя лучше. Вы познакомитесь с основными инструментами, метриками и показателями, которые необходимо учитывать, чтобы запустить успешный...
Читать онлайн
Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студи...
Читать онлайн
Современные ERP-системы позволяют многое сделать для ведения компанией бизнеса за счет разнообразия функциональности по автоматизации тех или иных бизнес-процессов. Успешный запуск такой системы в промышленную эксплуатацию сопряжен с проектом внедрения, идущим несколько месяцев или лет (в случае комплексных проектов из разных этапов). Как пройти этот путь от начала (выбора самой ERP-системы) до конца (перехода к работе в системе и перевода ее в режим сопровождения)? Книга дает начальное представ...
Читать онлайн
В этой книге Главный Архитектор Департамента Архитектуры Управления Технической Архитектуры (Центра Облачных Компетенций Cloud Native и Корпоративного университета архитекторов) и архитектор решения Сбербанка делится знаниями и опытом с читателей в области ML, полученных в работе Школе архитекторов. Автор:* проводит читателя через процесс создания, обучения и развития нейронной сети, показывая детально на примерах* повышает кругозор, показывая, какое она может занимать место в BigData с точки зр...
Читать онлайн
Сегодня вы читаете книгу “ТОП-100 симоронских ритуалов на все случаи жизни”. В ней мы поделимся лучшими и эффективными техниками, с помощью которых можно наполнить свою жизнь денежными энергиями, притянуть любовь, удачу и помочь своему здоровью.Конечно же, недостаточно прочитать книгу, чтобы получить результат. Крайне важно применить эти знания на практике! Кроме того, эта книга абсолютно не подходит тем, кто надеется провести один единственный ритуал и сразу же получить “миллион долларов”, боль...
Читать онлайн
Эта книга состоит из коротких произведений, написанных Натальей Щербой в разных жанрах – сказка, мистика, притча, НФ-рассказ. Словно кусочки разноцветного, переливчатого стекла, волшебные сказки здесь причудливо переплетаются с фантастическими рассказами, складываясь в особенный, неповторимый узор «Витражей».Иллюстратор обложки – Ева Майгутяк....
Читать онлайн
Ежевика практически не имеет противопоказаний. Ее ягодами, листьями и корнями еще издавна вылечивали немалое количество заболеваний. Регулярное употребление ягод и настоя из листьев и корней ежевики способно остановить распространение раковых клеток. Успешно ежевика борется с анемией, артритом, атеросклерозом, варикозом, тромбофлебитом, склерозом, бронхитом, трахеитом, гастритом, диабетом, заболеваниями печени, ревматизмом, сосудистыми проблемами. Она является низкокалорийным продуктом, поэтому ...
Читать онлайн
Выпадение волос в настоящее время считается одной из самых распространенных косметологических проблем. Конечно, еще никто не умирал оттого, что его волосы поредели, но иметь густую шевелюру хочет каждый. Ведь давно известно, что красота – это прежде всего здоровье, и если ваши волосы выглядят плохо, то это прямой сигнал организма о том, что надо о нем позаботиться.Наша книга поможет вам разобраться, какова причина «недомогания» ваших волос. Подскажет, как ухаживать за волосами разных типов. Науч...
Читать онлайн