std::pmr::polymorphic_allocator<T>::allocate_bytes
Материал из cppreference.com
<tbody>
</tbody>
[[nodiscard]] void* allocate_bytes( std::size_t nbytes, std::size_t alignment = alignof(std::max_align_t) ); |
(начиная с C++20) | |
Выделяет nbytes байт памяти с указанным выравниванием alignment, используя базовый ресурс памяти. Эквивалентно return resource()->allocate(nbytes, alignment);.
Параметры
| nbytes | — | количество байтов для выделения |
| alignment | — | используемое выравнивание |
Возвращаемое значение
Указатель на выделенное хранилище.
Примечание
Эта функция была введена для использования с полностью специализированным аллокатором std::pmr::polymorphic_allocator<>, но может быть полезна в любой специализации.
Тип возвращаемого значения void* (вместо, например, std::byte*) для поддержки преобразования в произвольный тип указателя U* с помощью static_cast<U*>.
Исключения
Может генерировать любые исключения, полученные вызовом resource()->allocate.
Смотрите также
(C++20) |
выделяет сырую память, подходящую для объекта или массива (public функция-элемент) |
(C++20) |
выделяет память и создаёт объект (public функция-элемент) |
| выделяет память (public функция-элемент) | |
[static] |
выделяет неинициализированное хранилище с помощью аллокатора (public static функция-элемент std::allocator_traits)
|
| выделяет память (public функция-элемент std::pmr::memory_resource)
|