Namespaces
Variants

std::pmr::polymorphic_allocator<T>:: allocate_object

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
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

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 )