Библиотека стандартных шаблонов (Standard Template Library, STL) — наиболее совершенный инструмент языка программирования С++.
Ядро библиотеки стандартных шаблонов состоит из четырех основных элементов:
Ø контейнеров,
Ø итераторов,
Ø алгоритмов,
Ø функциональных объектов.
Контейнеры — это объекты, предназначенные для хранения других объектов. Контейнеры бывают различных типов — массивы, очереди, списки и т.д.
Алгоритмы — выполняют операции над содержимым контейнеров. Существуют алгоритмы для инициализации, сортировки, поиска или замены содержимого контейнеров.
Итераторы — это объекты, которые по отношению к контейнерам играют роль указателей. Они позволяют получать доступ к содержимому контейнера так, как указатель позволяет получить доступ к элементу массива.
Функциональные объекты — это объекты, действующие как функции. Они могут быть объектами класса или указателями на функции, включающими в себя имя функции, поскольку именно оно работает как указатель.
В настоящее время STL включает в себя 11 структур данных контейнеров, реализованных в виде шаблонов классов. Контейнеры, определенные в STL, представлены
Алгоритмы предназначены для обработки контейнеров. Каждый контейнер имеет собственный базовый набор операций, но стандартные алгоритмы обеспечивают более широкий спектр действий. Кроме того, они позволяют одновременно работать с двумя контейнерами, имеющими разные типы. Для обеспечения доступа к алгоритмам STL, нужно подключить заголовочный файл <algorithm>.