Spec-Zone.ru › C++

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.

См. также

allocate_object
(C++20)
выделяет необработанную память, подходящую для объекта или массива
(открытая функция-член)
new_object
(C++20)
выделяет память и конструирует объект
(открытая функция-член)
allocate
выделяет память
(открытая функция-член)
allocate
[статическая]
выделяет неинициализированную память с помощью аллокатора
(открытая статическая функция-член std::allocator_traits<Alloc>)
allocate
выделяет память
(открытая функция-член 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API