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 ) ; |
(seit C++20) | |
Weist Speicher für
n
Objekte vom Typ
U
unter Verwendung der zugrundeliegenden Speicherressource zu.
Wenn std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( U ) < n , wirft std::bad_array_new_length , andernfalls äquivalent zu return static_cast < U * > ( allocate_bytes ( n * sizeof ( U ) , alignof ( U ) ) ) ; .
Inhaltsverzeichnis |
Parameter
| n | - | die Anzahl der Objekte, für die Speicher zugewiesen werden soll |
Rückgabewert
Ein Zeiger auf den zugewiesenen Speicher.
Hinweise
Diese Funktion wurde für die Verwendung mit dem vollständig spezialisierten Allokator std:: pmr :: polymorphic_allocator <> eingeführt, kann jedoch in jeder Spezialisierung als Abkürzung nützlich sein, um das Neubinden von std:: pmr :: polymorphic_allocator < T > zu std:: pmr :: polymorphic_allocator < U > zu vermeiden.
Da
U
nicht abgeleitet wird, muss es als Template-Argument beim Aufruf dieser Funktion angegeben werden.
Exceptions
Wirft std::bad_array_new_length falls n > std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( U ) ; kann auch beliebige Ausnahmen werfen, die durch den Aufruf von resource ( ) - > allocate ausgelöst werden.
Siehe auch
|
(C++20)
|
Reserviert rohen, ausgerichteten Speicher von der zugrunde liegenden Ressource
(öffentliche Elementfunktion) |
|
(C++20)
|
Reserviert Speicher und konstruiert ein Objekt
(öffentliche Elementfunktion) |
|
Reserviert Speicher
(öffentliche Elementfunktion) |
|
|
[static]
|
Reserviert nicht initialisierten Speicher unter Verwendung des Allokators
(öffentliche statische Elementfunktion von
std::allocator_traits<Alloc>
)
|
|
Reserviert Speicher
(öffentliche Elementfunktion von
std::pmr::memory_resource
)
|