Обзор стандартной библиотеки 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 , , 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++ имеют два широких подраздела:
Справочные соглашения о стандартной библиотеке C++ (STL).
Этот раздел содержит следующие разделы:
Дополнительные сведения о библиотеках времени выполнения Visual C++ см. в разделе Функции библиотеки CRT.
Примечание.
Реализация стандартной библиотеки C++ майкрософт часто называется библиотекой шаблонов STL или Standard. Хотя стандартная библиотека C++ является официальным именем библиотеки , как определено в ISO 14882, из-за популярного использования STL и "Стандартной библиотеки шаблонов" в поисковых системах, мы иногда используем эти имена, чтобы упростить поиск нашей документации. С исторической точки зрения , "STL" первоначально ссылается на стандартную библиотеку шаблонов, написанную Александром Стефановым. Части этой библиотеки были стандартизированы в стандартной библиотеке C++ вместе с библиотекой среды выполнения ISO C, частями библиотеки Boost и другими функциями. Иногда "STL" также используется для ссылки на контейнеры и алгоритмы стандартной библиотеки C++, адаптированной из STL Стефанова. В этой документации стандартная библиотека шаблонов (STL) ссылается на стандартную библиотеку C++ в целом.