Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемАндрей Стрелец
2 Библиотека стандартных шаблонов (STL) ( Standard Template Library) набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++.
3 Ядро библиотеки состоит из шаблонных классов: * Контейнеры; * Алгоритмы; * Итераторы. А так же STL поддерживает распределители памяти, предикаты и функции сравнения.
4 Распределитель памяти (allocator) – управляет процессом выделения памяти для контейнера; является объектом класса allocator. Предикат – функция, возвращающая болевое или целое значение. Значение true включает в себя любые значения отличные от нуля, false – ноль. По количеству переменных предикаты бываю унарные и бинарные. Функция сравнения - специальный тип бинарного предиката, для сравнения двух аргументов; если первый аргумент меньше второго то возвращается значение true.
5 Библиотека содержит пять основных видов компонентов: * алгоритм (algorithm): определяет вычислительную процедуру(инициализации, сортировки, поиска и замены содержимого контейнера). * контейнер (container): объект для хранения других объектов; так же может определяться ассоциативный контейнер позволяющий с помощью ключей получать быстрый доступ к парам(ключ/значение), что позволяет ключу получить соответствующие значение. * итератор (iterator): обеспечивает для алгоритма средство доступа к содержимому контейнера (работают примерно так же как и указатели предоставляют доступ к элементам массива). * функциональный объект (function object): инкапсулирует функцию в объекте для использования другими компонентами. * адаптер (adaptor): адаптирует компонент для обеспечения различного интерфейса.
6 Итераторы произвольного доступа – используются для считывания и записи значений. Доступ к элементам произвольный. Однонаправленный итератор – используется для считывания и записи значений, может перемещаться по контейнеру в одном направлении. Двунаправленный итератор - используется для считывания и записи значений, может перемещаться по контейнеру в обоих направлениях. Ввода – используется только для считывания значений, может перемещаться по контейнеру только в одном направлении. Вывода - используется только для записи значений, может перемещаться по контейнеру только в одном направлении.
7 Работа с итераторами такая же, как и работа с указателями. К ним можно применять операции инкременты(увеличение на единицу) и декременты(уменьшения на единицу). К ним можно применять оператор разыменования(*). Тип итераторов(iterator) объявляется в различных контейнерах. Обратные итераторы – это итераторы, которые перемещаются по контейнеру в обратном направлении, они могут быть либо двух направленными, либо итераторами произвольного доступа. В дополнении к заголовочным файлам разнообразных классов- контейнеров, в стандартную библиотеку включены заголовки и предназначенные для поддержки классов- шаблонов.
8 содержит большое количество встроенных объектов функций, а так же помогает создавать объекты, определяющие оператор-функцию. содержит определение класса шаблона, в котором могут храниться пары значений.
9 Контейнеры – это объект, который предназначен для хранения других объектов.
10 Последовательные контейнеры – в них осуществляется последовательные или произвольный доступ к элементам. Контейнер vector ведет себя как массив, но может автоматически увеличиваться по мере необходимости.Он поддерживает прямой доступ и связанное хранение и имеет очень гибкую. Контейнер array представляет из себя массив фиксированного значения в нём содержатся элементы, строго идущие друг за другом.
11 Контейнер deque (двусторонняя очередь) обеспечивает быструю вставку и удаление в начале и в конце контейнера.Он, как и контейнер vector, обладает преимуществами прямого доступа и гибкой длины, но не обеспечивает связанное хранение. Контейнер list это двунаправленный список, который обеспечивает двунаправленный доступ, быструю вставку и удаления в любом месте контейнера, но не поддерживает прямой доступ к элементам контейнера. Контейнер forward_list однонаправленный список. Это версия контейнера list только с доступом в прямом направлении.
12 Ассоциативные контейнеры – получают доступ к элементам по ключу. Контейнер map состоит из пар "ключ-значение". Ключ используется для упорядочивания последовательности, а значение связано с ключом. set это контейнер уникальных элементов, упорядоченных по возрастанию. Каждое его значение также является и ключом. Контейнеры map и set разрешают вставку только одного экземпляра ключа или элемента. Если необходимо включить несколько экземпляров элемента, следует использовать контейнер multimap или multiset.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.