Стандартная Библиотека С++
Стандартная библиотека C++ предоставляет широкий спектр возможностей, которые можно использовать в стандартном C++.
Категория
Библиотека поддержки языка предоставляет компоненты, необходимые для определённых частей языка C++, например выделения памяти (new/delete) и обработки исключений.
|
Библиотека концептов описывает библиотечные компоненты, которые программы C++ могут использовать для проверки во время компиляции аргументов шаблона и выполнения диспетчеризации функций на основе свойств типов. |
(начиная с C++20) |
Библиотека диагностики обеспечивает согласованную основу для сообщения об ошибках в программе C++, включая предопределённые классы исключений.
Библиотека управления памятью предоставляет компоненты для управления памятью, в том числе умные указатели и распределитель с областью видимости (начиная с C++11).
|
Библиотека метапрограммирования описывает средства для использования в шаблонах и во время константной оценки, включая свойства типа, целочисленную последовательность (начиная с C++14) и рациональную арифметику. |
(начиная с C++11) |
Библиотека общих утилит включает компоненты, используемые другими элементами библиотеки, такими как предопределённый распределитель памяти для динамического управления памятью, а также компоненты, используемые в качестве инфраструктуры в программах на C++, например кортежи и (начиная с C++11) обёртки функций.
Библиотека строк поддерживает работу с текстом, представленным в виде однородных последовательностей следующих типов: char, char8_t (начиная с C++20), char16_t, char32_t (начиная с C++11), wchar_t и любых других символьных типов.
Библиотеки контейнеров, итераторов, диапазонов (начиная с C++20) и алгоритмов предоставляют программе C++ доступ к подмножеству наиболее широко используемых алгоритмов и структур данных.
Библиотека числовых значений предоставляет компоненты числовых алгоритмов и комплексных чисел, которые расширяют поддержку обработки чисел. Компонент valarray обеспечивает поддержку обработки n одновременно, что потенциально может быть реализовано как параллельные операции на платформах, поддерживающих такую обработку. Компонент случайных чисел предоставляет средства для генерации псевдослучайных чисел. (начиная с C++11)
Библиотека времени предоставляет полезные утилиты времени.
Библиотека локализации обеспечивает расширенную поддержку интернационализации для обработки текста.
Библиотека ввода/вывода предоставляет компоненты iostream, которые являются основным механизмом ввода и вывода программ C++. Их можно использовать с другими элементами библиотеки, в частности со строками, локалями и итераторами.
|
Библиотека регулярных выражений обеспечивает сопоставление и поиск регулярных выражений. Библиотека поддержки потоков предоставляет компоненты для создания потоков и управления ими, включая атомарные операции, взаимное исключение и взаимодействие между потоками. |
(начиная с C++11) |
Содержимое библиотеки
Стандартная библиотека C++ предоставляет определения для сущностей и макросов, описанных в кратком обзоре заголовков стандартной библиотеки C++, если не указано иное.
Все сущности библиотеки, кроме operator new и operator delete, определены в пространстве имён std или в пространствах имён, вложенных в пространство имён std (кроме сущностей для возможностей стандартной библиотеки C, смотрите ниже). Не указано, объявляются ли имена, объявленные в определённом пространстве имён, непосредственно в этом пространстве имён или во встроенном пространстве имён внутри этого пространства имён. (начиная с C++11)
Заголовки
Каждый элемент стандартной библиотеки C++ объявляется или определяется (в зависимости от обстоятельств) в заголовке . Заголовок не обязательно является исходным файлом, а последовательности, разделённые < и > в именах заголовков, не обязательно являются допустимыми именами исходных файлов.
Стандартная библиотека C++ предоставляет заголовки библиотеки C++ и дополнительные заголовки C++ для средств библиотеки C (описания смотрите на странице 'заголовки'):
| Заголовки библиотеки С++ | ||||
|---|---|---|---|---|
| <algorithm> | <iomanip> | <list> | <queue> | <string> |
| <bitset> | <ios> | <locale> | <set> | <strstream> |
| <complex> | <iosfwd> | <map> | <sstream> | <typeinfo> |
| <deque> | <iostream> | <memory> | <stack> | <utility> |
| <exception> | <istream> | <new> | <stdexcept> | <valarray> |
| <fstream> | <iterator> | <numeric> | <streambuf> | <vector> |
| <functional> | <limits> | <ostream> | ||
| Заголовки, добавленные в C++11 | ||||