STL: Standard Template Library
STL: Standard Template Library (Стандартная Библиотека Шаблонов) — часть стандартной библиотеки C++, включающая в себя достаточно низкоуровневые конструкции, которые не реализованы как часть языка. Состоит из следующих компонентов:
1) Контейнеры. Это динамический (с возможностью в runtime изменять размер) массив std::vector. Двухсвязный не интрузивный список std::list. Динамические очереди std::deque и std::queue. Ассоциативные массивы std::map и std::multimap. Множества std::set, std::multiset и std::bitset. Стек std::stack. Все контейнеры параметризованные. Кроме того, не входят в стандарт, но присутствуют во многих реализациях STL хеш-варианты ассоциативного массива и множества std::hash_map и std::hash_set.
2) Строковый класс std::basic_string и две его реализации: std::string и std::wstring.
3) Алгоритмы. Содержит набор наиболее распространённых алгоритмов, таких как сортировка, поиск и т. п. Все алгоритмы манипулируют параметризованными итераторами, поэтому они могут работать как со стандартными контейнерами, так и указателями; как с полным диапазоном, так и с его частью; как со стандартыми типами, так и с типами, определёнными пользователем (относится как к элементам данных, так и к итератам).
4) Итераторы. Набор соглашений для итераторов, используемых в стандартных алгоритмах.
5) Аллокаторы или распределители памяти. Механизм, позволяющий реализовать [[strategy|стратегию]] выделения памяти для стандартных контейнеров.
6) Работа с числами. Включает в себя комплексные числа(std::complex), алгоритмы из <numeric>, числовые вектора(std::valarray)
Потоки (iostreams) и локали (locals) не входят в STL, но являются важной частью стандартной библиотеки C++.
Что такое STL: Standard Template Library?
#C++, #шаблоны, #библиотеки, #итераторы, #контейнеры
8 августа 2005 (Обновление: 16 сен 2009)