std::pmr::polymorphic_allocator<T>::allocate_bytes
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) | выделяет необработанную память, подходящую для объекта или массива (открытая функция-член) |
|
(C++20) | выделяет память и конструирует объект (открытая функция-член) |
| выделяет память (открытая функция-член) |
|
|
[статическая] | выделяет неинициализированную память с помощью аллокатора (открытая статическая функция-член std::allocator_traits<Alloc>) |
| выделяет память (открытая функция-член std::pmr::memory_resource) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/polymorphic_allocator/allocate_bytes