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

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

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

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

  • библиотеки для поддержки языка,
  • библиотеки общего назначения.

Содержание

[править] Поддержка языка

Библиотеки поддержки языка предоставляют классы и возможности, тесно связанные с возможностями языка и служащие для поддержки общих языковых идиом.

[править] Подержка типов

[править] Динамическое управление памятью

  • Умные указатели (например, std::shared_ptr),
  • распределители (например, std::allocator),
  • управление памятью в стиле C (например, std::malloc).

[править] Обработка ошибок

  • Исключения (например, std::exception, std::logic_error),
  • утверждения (например, assert),
  • утверждения момента компиляции (static_assert).

[править] Списки инициализации

позволяет использовать синтаксис инициализации списка для инициализации, не набившие оскомину-типов данных
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.

(шаблон класса) [edit]

[править] Variadic–функции

Поддержка функций, которые принимают произвольное число параметров (например, через va_start, va_arg, va_end).


[править] Плюшки общего назначения

[править] Управление программой

[править] Дата и время

[править] 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.

(класс) [edit]

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

  • Частичное применение функции (например, 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.

(шаблон класса) [edit]
(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.

(шаблон класса) [edit]
тег типа используются для выбора правильной перегрузки функции для кусочно строительства
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.

(класс) [edit]
Объект типа 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.

(константа) [edit]

[править] 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.

(шаблон функции) [edit]
(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.

(шаблон функции) [edit]
(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.

(шаблон функции) [edit]
получает 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.

(шаблон функции) [edit]
(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.

(шаблон функции) [edit]

[править] Операторы отношения

Defined in namespace std::rel_ops
automatically generates comparison operators based on user-defined operator== and operator<
(шаблон функции) [edit]

[править] Хэш-коды

(C++11)
hash function object
(шаблон класса) [edit]