Библиотека утилит
Материал из cppreference.com
< cpp
C++ включает в себя множество полезных библиотек, которые обеспечивают различную функциональность, работая на разных уровнях абстракции, включая, например управление битами и частичное применение функции. Эти библиотеки можно разделить на две группы:
- библиотеки для поддержки языка,
- библиотеки общего назначения.
Содержание |
[править] Поддержка языка
Библиотеки поддержки языка предоставляют классы и возможности, тесно связанные с возможностями языка и служащие для поддержки общих языковых идиом.
[править] Подержка типов
- Базовые типы (например, std::size_t, std::nullptr_t),
- RTTI (например, std::type_info),
- статический анализ (например, std::is_integral, std::rank).
[править] Динамическое управление памятью
- Умные указатели (например, std::shared_ptr),
- распределители (например, std::allocator),
- управление памятью в стиле C (например, std::malloc).
[править] Обработка ошибок
- Исключения (например, std::exception, std::logic_error),
- утверждения (например, assert),
- утверждения момента компиляции (static_assert).
[править] Списки инициализации
(C++11) |
позволяет использовать синтаксис инициализации списка для инициализации, не набившие оскомину-типов данных Оригинал: allows the use of синтаксис инициализации списка to initialize non plain-old-data types Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |
[править] Variadic–функции
Поддержка функций, которые принимают произвольное число параметров (например, через va_start, va_arg, va_end).
[править] Плюшки общего назначения
[править] Управление программой
- Прекращение (например, std::abort, std::atexit),
- окружение (например, std::system),
- сигналы (например, std::raise).
[править] Дата и время
- Учёт времени (например, std::chrono::time_point, std::chrono::duration),
- получение даты и времени в стиле C (например, std::time, std::clock).
[править] BitSet
Реализует битовый массив постоянной длины (класс) |
[править] Функциональные объекты
- Частичное применение функции (например, std::bind),
- обобщённые функции (например, std::function),
- предопределённые функторы (например, std::plus, std::equal_to).
[править] Пары и кортежи
реализует двоичный кортеж, т.е. пару значений Оригинал: implements binary tuple, i.e. a pair of values Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
(C++11) |
реализует контейнер фиксированного размера, который содержит элементы возможно различных типов (шаблон класса) |
(C++11) |
тег типа используются для выбора правильной перегрузки функции для кусочно строительства Оригинал: tag type used to select correct function overload for piecewise construction Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
(C++11) |
Объект типа piecewise_construct_t используется для устранения неоднозначности функции для кусочно строительства Оригинал: an object of type piecewise_construct_t used to disambiguate functions for piecewise construction Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (константа) |
[править] Swap, forward, move
обмен значения двух объектов (шаблон функции) | |
(C++11) |
Вперед аргумента функции Оригинал: forwards a function argument Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
(C++11) |
получает RValue ссылки Оригинал: obtains an rvalue reference Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
(C++11) |
получает RValue ссылку, если движение конструктор не бросают Оригинал: obtains an rvalue reference if the move constructor does not throw Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
(C++11) |
получает тип выражения в невычисленного контексте Оригинал: obtains the type of expression in unevaluated context Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
[править] Операторы отношения
Пространство имён
std::rel_ops | |
автоматически генерирует операторы сравнения основанные на определённых пользователем operator== и operator< (шаблон функции) |
[править] Хэш-коды
(C++11) |
Объект хеш-функции (шаблон класса) |