Библиотека стандартных шаблонов или STL - это библиотека C ++ общих контейнеров, итераторов, алгоритмов и объектов функций. Когда C ++ был стандартизован, большие части STL были приняты в стандартную библиотеку, и эти части в стандартной библиотеке также иногда называются коллективно как «STL».

Библиотека стандартных шаблонов или STL - это библиотека C ++ общих контейнеров, итераторов, алгоритмов и объектов функций. Первоначально разработанный Александром Степановым и Мэн Ли и опубликованный HP в 1995 году. Большие части STL были приняты с изменениями в стандартную библиотеку ISO C ++.

Обратите внимание, что имя STL неоднозначно, поскольку оно может ссылаться на разные вещи. Ниже перечислены типичные предполагаемые значения (предлагаемая маркировка в скобках):

Оригинальная реализация HP (stl или hp-stl) Библиотека SGI STL (stl или sgi-stl) Полученные части HP STL Стандартная библиотека C ++ (stl и stdlib) Части шаблона стандартной библиотеки C ++ (stl и stdlib) Вся стандартная библиотека C ++ (c ++ - стандартная библиотека и stdlib)

Последние два определения, строго говоря, , неверно; в стандарте C ++ никогда не упоминается ни «STL», ни «Standard Template Library». На практике, однако, людям редко приходится ссылаться на библиотеку HP, и поэтому «STL» почти всегда используется для описания частей стандартной библиотеки STL (алгоритмы, итераторы и контейнеры) или части шаблона.

Элементы программирования

Большинство элементов программирования STL находятся в пространстве имен std. Контейнеры, алгоритмы, итераторы и другие вспомогательные конструкции существуют в разных заголовках, но все они находятся внутри пространства имен std. Основной и наиболее распространенный использованный контейнер vector можно использовать:

Оригинальная реализация HP (stl или hp-stl) Объявление переменной по полному имени области: std::vector<int> IntV; или путем включения целого std: using namespace std; vector<int> IntV; или вытягивания определенного символа: using std::vector; vector<int> IntV;

Все остальные элементы программирования могут использоваться по аналогичной схеме.

Красота STL заключается в том, что Контейнеры (list, unordered_map и т. д.), Алгоритмы (sort, count_if), Итераторы (обратный итератор, константный итератор и т. д.) не зависят от друг друга, но могут использоваться вместе, не зная внутренних элементов другого элемента.

Ресурсы

Объявление переменной по полному имени области: std::vector<int> IntV; или путем включения целого std: using namespace std; vector<int> IntV; или потянув определенный символ: using std::vector; vector<int> IntV; Библиотека SGI STL (stl или sgi-stl)

* Эта ссылка ненормативна.

Книги

Стандартная библиотека C ++: учебное пособие и справочник (второе издание) Глава 6: Библиотека стандартных шаблонов