Пространства имён
Варианты
Действия

Заголовочные файлы стандартной библиотеки C++

Материал из cppreference.com
< cpp
 
 
 

Интерфейс стандартной библиотеки C++ определяется следующим набором заголовочных файлов.

Шаблон:cpp/header/dsc expected

Содержание

Библиотека концепций

Концепты основной библиотеки [править]

Библиотека сопрограмм

Библиотека поддержки сопрограмм [править]

Библиотека утилит

(C++17)
Класс std::any [править]
Шаблон класса std::bitset [править]
(C++11)
Утилиты времени C++ [править]
(C++20)
Поддержка оператора трёхстороннего сравнения [править]
Макрос (и функция), которая сохраняет (и переходит) в контекст выполнения [править]
Функции и макроконстанты для управления сигналами [править]
Обработка списков аргументов переменной длины [править]
Стандартные макросы и определения типов [править]
Утилиты общего назначения: программный контроль, распределение динамической памяти, случайные числа, сортировка и поиск [править]
Утилиты времени/даты в стиле C [править]
Объекты функции, вызовы функций, операции привязки и ссылки оболочки [править]
Шаблон класса std::initializer_list [править]
Шаблон класса std::optional [править]
Предоставляет средства для получения расположения исходного кода [править]
(C++11)
Шаблон класса std::tuple [править]
Информация о типе времени компиляции [править]
std::type_index [править]
Утилиты информации времени выполнения [править]
Различные утилитарные компоненты [править]
(C++17)
Шаблон класса std::variant [править]
(C++20)
Предоставляет зависящую от реализации информацию о библиотеке [править]
Динамическое управление памятью
Утилиты управления памятью высокого уровня [править]
Полиморфные аллокаторы и ресурсы памяти [править]
Утилиты управления памятью низкого уровня [править]
Вложенный класс аллокатора [править]
Числовые ограничения
Лимиты типов с плавающей запятой [править]
Макросы форматирования, intmax_t и uintmax_t математика и преобразования [править]
Лимиты целочисленных типов [править]
(C++11)
Целочисленные типы фиксированной ширины и лимиты других типов [править]
Единый способ запроса свойств арифметических типов [править]
Обработка ошибок
Макрос условной компиляции, сравнивающий свой аргумент с нулём [править]
Макрос, содержащий номер последней ошибки [править]
Утилиты обработки исключений [править]
Стандартные объекты исключений [править]
Определяет std::error_code, код ошибки, зависящий от платформы [править]
Библиотека Stacktrace [править]

Библиотека строк

Функции для определения категории узких символов [править]
std::to_chars и std::from_chars [править]
Различные функции обработки узкосимвольных строк [править]
(C++11)
Функции преобразования символов Юникода в стиле C [править]
Различные функции обработки широких и многобайтовых строк [править]
Функции для определения категории широких символов [править]
(C++20)
Библиотека форматирования, включая std::format [править]
Шаблон класса std::basic_string [править]
Шаблон класса std::basic_string_view [править]

Библиотека контейнеров

(C++11)
Контейнер std::array [править]
Контейнер std::deque [править]
Контейнер std::forward_list [править]
Контейнер std::list [править]
Ассоциативные контейнеры std::map и std::multimap [править]
Адаптеры контейнеров std::queue и std::priority_queue [править]
Ассоциативные контейнеры std::set и std::multiset [править]
(C++20)
Представление std::span [править]
Адаптер контейнера std::stack [править]
Неупорядоченные ассоциативные контейнеры std::unordered_map и std::unordered_multimap [править]
Неупорядоченные ассоциативные контейнеры std::unordered_set и std::unordered_multiset [править]
Контейнер std::vector [править]

Библиотека итераторов

Диапазонные итераторы [править]

Библиотека диапазонов

(C++20)
Доступ в диапазоне, примитивы, требования, утилиты и адапторы [править]

Библиотека алгоритмов

Алгоритмы, оперирующие диапазонами [править]
Предопределенные политики выполнения для параллельных версий алгоритмов [править]

Библиотека чисел

(C++20)
Функции манипуляции битами [править]
(C++11)
Функции доступа к среде с плавающей точкой [править]
Общие математические функции [править]
Тип комплексного числа [править]
(C++20)
Математические константы [править]
Числовые операции со значениями в диапазонах [править]
(C++11)
Генераторы случайных чисел и распределения [править]
(C++11)
Рациональная арифметика времени компиляции [править]
Класс для представления массивов значений и управления ими [править]

Библиотека локализации

Утилиты локализации C [править]
(C++11)(устарело в C++17)
Возможности преобразования Юникода [править]
Утилиты локализации [править]

Библиотека Ввода/Вывода

Функции ввода-вывода в стиле C [править]
Шаблоны классов std::basic_fstream, std::basic_ifstream, std::basic_ofstream и несколько определений типов [править]
Вспомогательные функции для управления форматом ввода и вывода [править]
Класс std::ios_base, шаблон класса std::basic_ios и несколько определений типов [править]
Предварительные объявления всех классов в библиотеке ввода/вывода [править]
Несколько стандартных объектов потоков [править]
Шаблон класса std::basic_istream и несколько определений типов [править]
Шаблоны классов std::basic_ostream, std::basic_iostream и несколько определений типов [править]
Шаблоны классов и определения типов std::basic_spanstream, std::basic_ispanstream, std::basic_ospanstream [править]
Шаблоны классов std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream и несколько определений типов [править]
Шаблон класса std::basic_streambuf [править]
(устарело в C++98)
std::strstream, std::istrstream, std::ostrstream [править]
std::basic_osyncstream, std::basic_syncbuf и определения типов [править]

Библиотека файловой системы

Класс std::path и вспомогательные функции [править]

Библиотека регулярных выражений

(C++11)
Классы, алгоритмы и итераторы для поддержки обработки регулярных выражений [править]

Библиотека атомарных операций

(C++11)
Библиотека атомарных операций [править]

Библиотека поддержки потоков

(C++20)
Барьеры [править]
Условия ожидания потока [править]
(C++11)
Примитивы для асинхронных вычислений [править]
(C++20)
Защёлки [править]
(C++11)
Примитивы взаимного исключения [править]
Семафоры [править]
Общие примитивы взаимного исключения [править]
Стоповые токены для std::jthread [править]
(C++11)
Класс std::thread и вспомогательные функции [править]

[править] Заголовки совместимости с C

Для некоторых заголовков стандартной библиотеки C в форме xxx.h стандартная библиотека C++ включает в себя заголовок с идентичным названием и другой заголовок формы cxxx (все значимые заголовки cxxx перечислены выше).

За исключением complex.h , каждый заголовок xxx.h, включенный в стандартную библиотеку C++, помещает в глобальное пространство имён каждое имя, которое соответствующий заголовок cxxx поместил бы в пространство имён std.

Эти заголовки могут также объявлять те же имена в пространстве имён std, а соответствующие заголовки cxxx могут также объявлять те же имена в глобальном пространстве имён: включение <cstdlib> обязательно предоставляет std::malloc, а также может предоставить ::malloc. Включение <stdlib.h> обязательно предоставляет ::malloc, а также может предоставить std::malloc. Это применимо даже к функциям и перегрузкам функций, которые не являются частью стандартной библиотеки C.

Примечание: заголовки xxx.h объявлены устаревшими в C++98 и не поддерживаются в C++23. Эти заголовки не рекомендуются для чистого кода C++, но не подлежат удалению в будущем.

(устарело)
Ведёт себя так же, как <cassert> [править]
(устарело)
Ведёт себя так, как если бы каждое имя из <cctype> было помещено в глобальное пространство имён [править]
(устарело)
Ведёт себя так же, как <cerrno> [править]
(C++11)(устарело)
Ведёт себя так, как будто каждое имя из <cfenv> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так же, как <cfloat> [править]
(C++11)(устарело)
Ведёт себя так, как будто каждое имя из <cinttypes> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так же, как <climits> [править]
(устарело)
Ведёт себя так, как будто каждое имя из <clocale> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cmath> помещается в глобальное пространство имён,
за исключением имён специальных математических функций [править]
(устарело)
Ведёт себя так, как будто каждое имя из <csetjmp> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <csignal> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cstdarg> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cstddef> помещается в глобальное пространство имён,
за исключением имён std::byte и связанных функций [править]
(C++11)(устарело)
Ведёт себя так, как будто каждое имя из <cstdint> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cstdio> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cstdlib> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cstring> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <ctime> помещается в глобальное пространство имён [править]
(C++11)(устарело)
Ведёт себя так, как будто каждое имя из <cuchar> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cwchar> помещается в глобальное пространство имён [править]
(устарело)
Ведёт себя так, как будто каждое имя из <cwctype> помещается в глобальное пространство имён [править]

[править] Специальные заголовки совместимости с C

Заголовок <stdatomic.h> объявляет имена, которые также предоставляются в стандартной библиотеке C, и определяет макрос _Atomic, который является ключевым словом в C. В отличие от других заголовков xxx.h, соответствующий <cstdatomic> не предоставляется.

(C++23)(устарело)
Определяет _Atomic и предоставляет соответствующие компоненты в стандартной библиотеке C [править]

[править] Пустые заголовки C

Заголовки <complex.h>, <ccomplex>, <tgmath.h> и <ctgmath> не содержат содержимое из стандартной библиотеки C, а вместо этого просто включают другие заголовки из стандартной библиотеки C++. Использование этих заголовков не рекомендуется в C++.

(C++11)(устарело в C++17)(убрано в C++20)
Просто включает заголовок <complex> [править]
(C++11)(устарело)
Просто включает заголовок <complex> [править]
(C++11)(устарело в C++17)(убрано в C++20)
Просто включает заголовки <complex> и <cmath>: перегрузки, эквивалентные содержимому заголовка C tgmath.h, уже предоставляются этими заголовками [править]
(C++11)(устарело)
Просто включает заголовки <complex> и <cmath> [править]

[править] Бессмысленные заголовки C

Заголовки <ciso646>, <cstdalign> и <cstdbool> не имеют смысла в C++, потому что макросы, которые они предоставляют в C, являются ключевыми словами языка C++.

(убрано в C++20)
Пустой заголовок. Макросы, которые появляются в iso646.h в C являются ключевыми словами в C++ [править]
(C++11)(устарело в C++17)(убрано в C++20)
Определяет одну макроконстанту совместимости [править]
(C++11)(устарело в C++17)(убрано в C++20)
Определяет одну макроконстанту совместимости [править]
(устарело)
Не имеет эффекта [править]
(C++11)(устарело)
Определяет одну макроконстанту совместимости [править]
(C++11)(устарело)
Определяет одну макроконстанту совместимости [править]

[править] Неподдерживаемые заголовки C

Заголовки C <stdatomic.h>, <stdnoreturn.h> и <threads.h> не включены в C++ и не имеют cxxx эквивалентов.

[править] Экспериментальные библиотеки

C++ TR/TS также определяют несколько коллекций заголовков.

[править] Смотрите также

Документация по C для Заголовки Стандартной Библиотеки C