Стандартная библиотека шаблонов C++ (STL)
STL (стандартная библиотека шаблонов) - это общий набор шаблонов классов и алгоритмов,
позволяющий программистам легко реализовывать стандартные структуры данных, такие как
очереди, списки и стеки.
Содержание |
[править] Структуры данных
STL предоставляет следующие конструкции, разделенные на три группы:
- Последовательности
- Адаптеры последовательностей
- Ассоциативные контейнеры
Идея STL состоит в том, что тяжелая часть работы при манипуляциях сложными структурами данных уже была сделана. Если программист захочет использовать стек целых чисел, то все, что ему нужно будет сделать, это написать такой код:
stack<int> myStack;
С минимальными усилиями со своей стороны мы теперь можем выполнять функции ru/stl/stack/push и ru/stl/stack/pop над стеком. Магия шаблонов C++ позволяет определить любой тип данных, не только целочисленный. Класс стека STL предоставляет общую функциональность стека вне зависимости от данных в стеке.
[править] Алгоритмы
Кроме того, STL предоставляет набор полезных алгоритмов: например, ru/stl/algorithm/бинарный поиск, ru/stl/algorithm/сортировку и ru/stl/algorithm/for_each -- они могут использоваться во множестве контейнеров или структур данных.
[править] Итераторы
Итераторы реализуют общий метод доступа и навигации по элементам структур данных STL.
[править] Функциональные объекты
Заголовочный файл <functional> определяет методы, связанные с созданием функциональных объектов.
[править] Память
Заголовочный файл <memory> предоставляет простые структуры управления памятью, например, ru/stl/memory/auto_ptr.
[править] Полезности
Также есть несколько общих полезных методов, таких как ru/stl/utility/make_pair в заголовочном файле <utility>.