C++ Стандартная библиотека
Стандартная библиотека C++ включает набор заголовочных файлов, предоставляющих различные функции и инструменты, охватывающие ввод/вывод, контейнеры, алгоритмы, многопоточность, регулярные выражения и многое другое.
Стандартную библиотеку C++ можно разделить на две части:
- Библиотека стандартных функций:Эта библиотека состоит из общих, автономных функций, не принадлежащих ни одному классу. Библиотека функций унаследована от языка C.
- Объектно-ориентированная библиотека классов:Эта библиотека представляет собой набор классов и связанных с ними функций.
Стандартная библиотека C++ включает всю стандартную библиотеку C с некоторыми дополнениями и изменениями, внесёнными для обеспечения типобезопасности.
Ниже приведён список основных категорий компонентов стандартной библиотеки C++ и соответствующих им заголовочных файлов:
Ввод/вывод
<iostream>: Стандартный поток ввода/вывода<fstream>: Файловый поток ввода/вывода<sstream>: Строка<iomanip>: Форматирование потоков ввода/вывода
Контейнер
<array>: Контейнер массива фиксированной длины<vector>: Контейнер динамического массива<deque>: Контейнер двусторонней очереди<list>: Контейнер двусвязного списка<forward_list>: Контейнер односвязного списка<stack>: Адаптер контейнера стека<queue>: Адаптер контейнера очереди<priority_queue>: Адаптер контейнера очереди с приоритетом<set>: Контейнер множества (на основе сбалансированного двоичного дерева)<unordered_set>: Контейнер неупорядоченного множества (на основе хеш-таблицы)<map>: Контейнер словаря (пары ключ-значение, на основе сбалансированного двоичного дерева)<unordered_map>: Контейнер неупорядоченного словаря (на основе хеш-таблицы)<bitset>: Контейнер битового набора
Алгоритмы и итераторы
<algorithm>: Общие алгоритмы (такие как сортировка, поиск и т. д.)<iterator>: Итератор
Функциональные объекты и привязки
<functional>: Определяет функциональные объекты и связанные с ними утилиты
Математические и числовые операции
<numeric>: Числовые операции (такие как накопление, произведение и т. д.)<complex>: Операции с комплексными числами<valarray>: Классы массивов и связанные операции<cmath>: Математические функции
Строки и регулярные выражения
Время и дата
Многопоточность и параллелизм
<thread>: Поддержка многопоточности<mutex>: Мьютекс<condition_variable>: Условные переменные<future>: Поддержка асинхронного программирования<atomic>: Атомарные операции
Управление памятью
Свойства типов и идентификация типов во время выполнения
<type_traits>: Свойства типов<typeinfo>: Идентификация типов во время выполнения
Обработка исключений
<exception>: Базовые классы обработки исключений и связанные утилиты<stdexcept>: Общие классы исключений (такие какstd::runtime_errorи т.д.)
Операции ввода/вывода
Другие инструменты
<utility>: Общие утилиты (такие какstd::pairиstd::moveи т.д.)<random>: Генерация случайных чисел<locale>: Поддержка локализации<codecvt>: Преобразование кодировок символов<cassert>: Утверждение<cctype>: Обработка символов<cstring>: Обработка строк<cwchar>: Обработка широких символов<climits>: Числовые пределы<cfloat>: Пределы чисел с плавающей запятой<cstdlib>: Общие утилиты (такие какstd::randиstd::absи т.д.)
Эти заголовочные файлы составляют основу стандартной библиотеки C++, предоставляя богатый функционал для поддержки разработчиков в различных типах задач программирования.
Другие расширения