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

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

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

  • Размещенная реализация, которая поддерживает все необходимые заголовки стандартной библиотеки, описанные стандартом ISO C++.
  • Стандартная реализация, требующая только подмножества заголовков стандартной библиотеки. Необходимое подмножество:
Подмножество заголовка freestanding
<atomic> (объявление по крайней мере atomic_signed_lock_free и atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(объявление по крайней мереabort, , atexit, at_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 или стандартной библиотекой шаблонов. Хотя стандартная библиотека C++ — это официальное название библиотеки, как определено в стандарте ISO 14882, из-за популярного использования STL и стандартной библиотеки шаблонов в поисковых системах, иногда используйте эти имена, чтобы упростить поиск нашей документации. С исторической точки зрения, «STL» первоначально ссылался на стандартную библиотеку шаблонов, написанную Александром Стефановым. Части этой библиотеки были стандартизированы в стандартной библиотеке C++ вместе с библиотекой среды выполнения ISO C, частями библиотеки Boost и другими функциями. Иногда "STL" также используется для ссылки на контейнеры и алгоритмы стандартной библиотеки C++, адаптированной из STL Стефанова. В этой документации стандартная библиотека шаблонов (STL) относится к стандартной библиотеке C++ в целом.

См. также раздел

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