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

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

Стандартную библиотеку C++ можно разделить на две части:

  • Библиотека стандартных функций:Эта библиотека состоит из общих, автономных функций, не принадлежащих ни одному классу. Библиотека функций унаследована от языка C.
  • Объектно-ориентированная библиотека классов:Эта библиотека представляет собой набор классов и связанных с ними функций.

Стандартная библиотека C++ включает всю стандартную библиотеку C с некоторыми дополнениями и изменениями, внесёнными для обеспечения типобезопасности.

Ниже приведён список основных категорий компонентов стандартной библиотеки C++ и соответствующих им заголовочных файлов:

Ввод/вывод

Контейнер

Алгоритмы и итераторы

  • <algorithm>: Общие алгоритмы (такие как сортировка, поиск и т. д.)
  • <iterator>: Итератор

Функциональные объекты и привязки

  • <functional>: Определяет функциональные объекты и связанные с ними утилиты

Математические и числовые операции

  • <numeric>: Числовые операции (такие как накопление, произведение и т. д.)
  • <complex>: Операции с комплексными числами
  • <valarray>: Классы массивов и связанные операции
  • <cmath>: Математические функции

Строки и регулярные выражения

  • <string>: Стандартные классы строк
  • <regex>: Регулярные выражения

Время и дата

  • <ctime>: Работа со временем
  • <chrono>: Библиотека времени

Многопоточность и параллелизм

  • <thread>: Поддержка многопоточности
  • <mutex>: Мьютекс
  • <condition_variable>: Условные переменные
  • <future>: Поддержка асинхронного программирования
  • <atomic>: Атомарные операции

Управление памятью

  • <memory>: Умные указатели и управление динамической памятью
  • <new>: Динамическое выделение памяти

Свойства типов и идентификация типов во время выполнения

  • <type_traits>: Свойства типов
  • <typeinfo>: Идентификация типов во время выполнения

Обработка исключений

  • <exception>: Базовые классы обработки исключений и связанные утилиты
  • <stdexcept>: Общие классы исключений (такие какstd::runtime_errorи т.д.)

Операции ввода/вывода

  • <cstdio>: Ввод/вывод в стиле C
  • <cstdint>: Целочисленные типы фиксированной ширины

Другие инструменты

  • <utility>: Общие утилиты (такие какstd::pairиstd::moveи т.д.)
  • <random>: Генерация случайных чисел
  • <locale>: Поддержка локализации
  • <codecvt>: Преобразование кодировок символов
  • <cassert>: Утверждение
  • <cctype>: Обработка символов
  • <cstring>: Обработка строк
  • <cwchar>: Обработка широких символов
  • <climits>: Числовые пределы
  • <cfloat>: Пределы чисел с плавающей запятой
  • <cstdlib>: Общие утилиты (такие какstd::randиstd::absи т.д.)

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

Другие расширения