std::pmr::polymorphic_allocator<T>:: allocate_object
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(
C++20/26*
)
|
||||
|
polymorphic_allocator::allocate_object
(C++20)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
template
<
class
U
>
U * allocate_object ( std:: size_t n = 1 ) ; |
(начиная с C++20) | |
Выделяет память для
n
объектов типа
U
с использованием базового ресурса памяти.
Если std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( U ) < n , выбрасывает std::bad_array_new_length , иначе эквивалентно return static_cast < U * > ( allocate_bytes ( n * sizeof ( U ) , alignof ( U ) ) ) ; .
Содержание |
Параметры
| n | - | количество объектов, для которых выделяется память |
Возвращаемое значение
Указатель на выделенную память.
Примечания
Эта функция была введена для использования с полностью специализированным аллокатором std:: pmr :: polymorphic_allocator <> , но она может быть полезна в любой специализации как сокращение, позволяющее избежать необходимости преобразования из std:: pmr :: polymorphic_allocator < T > в std:: pmr :: polymorphic_allocator < U > .
Поскольку
U
не выводится, он должен быть предоставлен в качестве аргумента шаблона при вызове этой функции.
Исключения
Выбрасывает std::bad_array_new_length если n > std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( U ) ; также может быть любое исключение, выброшенное при вызове resource ( ) - > allocate .
Смотрите также
|
(C++20)
|
выделяет выровненную необработанную память из базового ресурса
(публичная функция-член) |
|
(C++20)
|
выделяет память и конструирует объект
(публичная функция-член) |
|
выделяет память
(публичная функция-член) |
|
|
[static]
|
выделяет неинициализированное хранилище с использованием аллокатора
(публичная статическая функция-член
std::allocator_traits<Alloc>
)
|
|
выделяет память
(публичная функция-член
std::pmr::memory_resource
)
|