allocator Class
Класс шаблона описание объекта, который управляет выделение и освобождение памяти для массивов объектов типа Тип.Объект класса allocator объект распределителя по умолчанию, определенный в конструкторах для нескольких шаблонных классов контейнера в стандартной библиотеке C-++ C.
template <class Type> class allocator
Параметры
- Тип
Тип объекта, для которого выбора или отмена выделения.
Заметки
Все контейнеры стандартной библиотеки шаблонов имеют параметр шаблона, по умолчанию используется значение allocator.Класс Template allocator предоставляет несколько определений типов, а пешеходны.Они едва ли отображается определение стоимости.Но другой класс с теми же элементами может выбрать более интересные альтернативные.Создание контейнера с объектом распределителя подобного класса предоставляет один элемент управления над выделения и освобождения элементов управляемых этим контейнером.
Например, объект распределителя может выделить хранилище в частной куче.Он может выделить хранилище на далекой куче, требующее от нештатные указатели получение выбранных объектов.Он также может определить, с помощью определения типа его доставки, чтобы элементы были осуществляется через специальные объекты доступа, управляющих общей памяти, или выполняют автоматическую сборку мусора.Следовательно, класс, который выделяет хранилище с помощью объекта распределителя должен использовать эти типы для объявления указателя и ссылочные объекты, как контейнеры в стандартной библиотеке C-++ C.
При наследовании от класса распределителя необходимо предоставить структуру rebind, которой typedef _Other ссылается на только что производный класс.
Таким образом, распределитель определяет следующие типы:
указатель ведет себя как указатель на Тип.
const_pointer ведет себя как указатель константного выражения в Тип.
ссылка ведет себя как ссылка на Тип.
const_reference ведет себя так же, как ссылка константного выражения в Тип.
В Тип, определяет форму, указатели и ссылки должны принимать выбранных элементов.(allocator::pointer не обязательно совпадают с путями * Тип для всех объектов распределителя, даже если он имеет это существенным определение класса allocator).
Члены
Конструкторы
Конструкторы, используемые для создания объектов allocator. |
Определения типов
Тип, предоставляющий постоянно указатель тип объекта управляемые распределителем. |
|
Тип, предоставляющий постоянно ссылку на тип объекта управляемые распределителем. |
|
Подписанный целочисленный тип, который может представлять разницу между значениями указателей на тип объекта управляемые распределителем. |
|
Тип, который содержит указатель тип объекта управляемые распределителем. |
|
Тип, который предоставляет ссылку на тип объекта управляемые распределителем. |
|
Unsigned целочисленный тип, который может представлять любой длину последовательности, объект класса шаблона allocator может выбрать. |
|
Управляемый тип, распределителем. |
Функции-члены
Находит адрес объекта, значение которого задается. |
|
Выделяет блок памяти достаточно велик для хранения по крайней мере некоторые заданное число элементов. |
|
Создает определенный тип объекта по указанному адресу, инициализируется с заданным значением. |
|
Освобождает заданное число объектов из начала хранилища в указанной позиции. |
|
Вызывает деструктор объектов без освобождения памяти, в котором объект хранились. |
|
Возвращает количество элементов типа Type, которые могут быть выбраны объектом класса allocator, прежде чем объем свободной памяти будет использоваться вверх. |
|
Структура, которая позволяет распределитель объектов для одного типа выделить хранилище для объектов другого типа. |
Операторы
Присвоить один объект allocator другому объекту allocator. |
Требования
Header: <memory>
Пространство имен: std
См. также
Ссылки
Потокобезопасность в стандартной библиотеке C++