Обзор стандартной библиотеки C++ (STL)

Все сущности библиотеки C++ объявляются или определяются в одном или нескольких стандартных заголовках. Эта реализация включает два других заголовка и <hash_map><hash_set>, которые не требуются стандарту C++ . Полный список заголовков, поддерживаемых этой реализацией, см. в справочнике по файлам заголовков.

Стандарт C++ определяет два типа соответствующих библиотек:

  • Размещенная реализация, которая поддерживает все необходимые заголовки стандартной библиотеки, описанные стандартом ISO C++.
  • Нестандартная реализация, требующая только подмножества заголовков стандартной библиотеки. Обязательный подмножество:
Подмножество заголовка свободного колонтитула
<atomic> (объявление по крайней мере atomic_signed_lock_free и atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(объявление по крайней мереabort, , atexitat_quick_exit, exit, ) quick_exit <ratio>
<cfloat> <exception> <tuple>
<climits> <functional> <typeinfo>
<compare> <initializer_list> <source_location>
<concepts> <iterator> <type_traits>
<coroutine> <limits> <utility>
<cstdarg> <memory> <version>
<cstddef> <new>

Следующие заголовки устарели, так как C++11: <ciso646>, <cstdalign>и <cstdbool>.

Другие различия между автономными и размещенными реализациями:

  • Для размещенных реализаций требуется глобальная функция с именем main. Нестандартная реализация может определять собственные функции запуска и завершения.
  • Размещенные реализации должны поддерживать несколько потоков, выполняющихся одновременно. Реализация автономных реализаций решает, поддерживает ли их библиотека одновременные потоки.

Стандартная библиотека Microsoft C++ удовлетворяет требованиям как к стандартной, так и размещенной.

Заголовки библиотек C++ имеют два широких подраздела:

Этот раздел содержит следующие разделы:

Дополнительные сведения о библиотеках времени выполнения Visual C++ см. в разделе Функции библиотеки CRT.

Примечание.

Реализация стандартной библиотеки C++ майкрософт часто называется библиотекой шаблонов STL или Standard. Хотя стандартная библиотека C++ является официальным именем библиотеки , как определено в ISO 14882, из-за популярного использования STL и "Стандартной библиотеки шаблонов" в поисковых системах, мы иногда используем эти имена, чтобы упростить поиск нашей документации. С исторической точки зрения , "STL" первоначально ссылается на стандартную библиотеку шаблонов, написанную Александром Стефановым. Части этой библиотеки были стандартизированы в стандартной библиотеке C++ вместе с библиотекой среды выполнения ISO C, частями библиотеки Boost и другими функциями. Иногда "STL" также используется для ссылки на контейнеры и алгоритмы стандартной библиотеки C++, адаптированной из STL Стефанова. В этой документации стандартная библиотека шаблонов (STL) ссылается на стандартную библиотеку C++ в целом.

См. также

Стандартная библиотека C++