std::pmr::polymorphic_allocator<T>::allocate_bytes
[[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) |
выделяет сырую память, подходящую для объекта или массива (публичный член-функция) |
|
(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/w/cpp/memory/polymorphic_allocator/allocate_bytes