std::allocator
Материал из cppreference.com
| Defined in header <memory>
|
||
| template< class T > struct allocator; |
(1) | |
| template<> struct allocator<void>; |
(2) | |
Шаблон класса std::allocator по умолчанию Allocator используется всеми стандартными контейнерами библиотеки, если не обеспечивается указанный пользователем распределитель. По умолчанию распределитель является обёрткой, то есть, все экземпляры данного распределителя являются взаимозаменяемыми, сравнительно равными и могут освободить память, выделенную любым другим экземпляром того же типа распределителя.
В специализации для void отсутствуют повторные объявления имени (typedef) для: reference, const_reference, size_type и difference_type. Также эта специализация не объявляет функций-членов.
| Все пользовательские распределители памяти должны быть обёртками (то есть не хранить состояния) | (до C++11) |
| Пользовательские распределители памяти могут содержать состояния. Каждый контейнер или объект, использующий размещение в памяти, содержит экземпляр распределителя памяти и контролирует размещение распределителя через std::allocator_traits. | (начиная с C++11) |
Содержание |
[править] Типы-члены
| Тип | Определение |
value_type
|
T |
pointer
|
T* |
const_pointer
|
const T* |
reference
|
T& |
const_reference
|
const T& |
size_type
|
std::size_t |
difference_type
|
std::ptrdiff_t |
rebind
|
template< class U > struct rebind { typedef allocator<U> other; }; |
[править] Функции-члены
| создает новый экземпляр распределителя Оригинал: creates a new allocator instance Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| разрушает распределитель экземпляр Оригинал: destructs an allocator instance Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| получает адрес объекта, даже если operator& перегружен Оригинал: obtains the address of an object, even if operator& is overloaded Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| выделяет неинициализированные хранения Оригинал: allocates uninitialized storage Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| освобождает хранения Оригинал: deallocates storage Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| возвращает наибольшее поддерживаемый размер ассигнований Оригинал: returns the largest supported allocation size Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| создает объект выделено в хранении Оригинал: constructs an object in allocated storage Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
| разрушает объект выделено хранения Оригинал: destructs an object in allocated storage Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
[править] Функции, не являющиеся членами
| Сравнивает два экземпляра распределителя Оригинал: compares two allocator instances Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
[править] См. также
| (C++11) |
извлекает информацию об аллокаторе (шаблон класса) |
| (C++11) |
реализует многоуровневую распределитель для многоуровневых контейнеров Оригинал: implements multi-level allocator for multi-level containers Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |
| (C++11) |
проверяет, поддерживает ли указанный тип использование аллокаторов (шаблон класса) |

