Библиотека утилит
Материал из 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) |
позволяет использовать синтаксис инициализации списка для инициализации, не набившие оскомину-типов данных Original: allows the use of синтаксис инициализации списка to initialize non plain-old-data types The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
[править] 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
| реализует постоянный битовый массив длины Original: implements constant length bit array The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (класс) | |
[править] Функциональные объекты
- Частичное применение функции (например, std::bind),
- обобщённые функции (например, std::function),
- предопределённые функторы (например, std::plus, std::equal_to).
[править] Пары и кортежи
| реализует двоичный кортеж, т.е. пару значений Original: implements binary tuple, i.e. a pair of values The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) | |
| (C++11) |
реализует фиксированного размера контейнера, который содержит элементы возможно различных типов Original: implements fixed size container, which holds elements of possibly different types The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
| (C++11) |
тег типа используются для выбора правильной перегрузки функции для кусочно строительства Original: tag type used to select correct function overload for piecewise construction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (класс) |
| (C++11) |
Объект типа piecewise_construct_t используется для устранения неоднозначности функции для кусочно строительства Original: an object of type piecewise_construct_t used to disambiguate functions for piecewise construction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (константа) |
[править] Swap, forward, move
| свопы значения двух объектов Original: swaps the values of two objects The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) | |
| (C++11) |
Вперед аргумента функции Original: forwards a function argument The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) |
| (C++11) |
получает RValue ссылки Original: obtains an rvalue reference The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) |
| (C++11) |
получает RValue ссылку, если движение конструктор не бросают Original: obtains an rvalue reference if the move constructor does not throw The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) |
| (C++11) |
получает тип выражения в невычисленного контексте Original: obtains the type of expression in unevaluated context The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) |
[править] Операторы отношения
| Defined in namespace
std::rel_ops | |
| automatically generates comparison operators based on user-defined operator== and operator< (шаблон функции) | |
[править] Хэш-коды
| (C++11) |
hash function object (шаблон класса) |