STL - это стандартная библиотека шаблонов , которая представляет большой набор данных
структур и алгоритмов.STL поддерживают все современные компиляторы. как видно из
названия, STL основана на шаблонах. Основные компоненты STL - контейнеры и
снандартные алгоритмы (такие как сортировка, поиск и т. д.). Контейнер- это объект
который содержит набор других объектов. Пример-обычный массив. Но в отличие от массива,
контейнеры не имеют фиксированного размера (это довольно удобно). Размер контейнера
можно изменять добавляя или удаляя объекты из контейнера. Есть следующие контейнеры:
vector - линейный массив
list - двухсвязанный список
queue - структура данных типа очередь
deque - очередь с двухсторонним доступом
stack - структура данных типа стек
set - ассоциативный массив уникальных ключей
multiset - ассоциативный массив с возможность
дублирования ключей
map - ассоциативный массив с уникальными
ключами и значениями
multimap - ассоциативный массив с возможность
дублирования ключей и значений
Алгоритмы STL - это шаблоны функций, работающих с объектами.
Доступ к данным находящимся внутри контейнера
осуществляется с помощью итераторов. Итераторы - это обобщение указателей, которые
позволяют работать с различными структурами данных (контейнерами) единообразным способом.
Есть пять категорий итераторов в зависимости от операций, определённых
для них: ввода (input iterators), вывода (output iterators),
последовательные (forward iterators), двунаправленные
(bidirectional iterators) и произвольного доступа (random access iterators.)