Spec-Zone.ru › C++

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.

См. также

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/w/cpp/memory/polymorphic_allocator/allocate_bytes

Spec-Zone.ru

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