Namespaces
Variants

std::pmr::polymorphic_allocator<T>:: allocate

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)
T * allocate ( std:: size_t n ) ;
(seit C++17)

Reserviert Speicher für n Objekte des Typs T unter Verwendung der zugrundeliegenden Speicherressource. Entspricht return static_cast < T * > ( resource ( ) - > allocate ( n * sizeof ( T ) , alignof ( T ) ) ) ; .

Inhaltsverzeichnis

Parameter

n - die Anzahl der Objekte, für die Speicher zugewiesen werden soll

Rückgabewert

Ein Zeiger auf den zugewiesenen Speicher.

Exceptions

Wirft std::bad_array_new_length falls n > std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( T ) ; kann auch beliebige Ausnahmen werfen, die durch den Aufruf von resource ( ) - > allocate ausgelöst werden.

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 3038 C++17 allocate könnte Speicher falscher Größe allozieren wirft length_error stattdessen
LWG 3237 C++17 die von allocate geworfene Exception war inkonsistent mit std::allocator::allocate konsistent gemacht

Siehe auch

Reserviert rohen ausgerichteten Speicher von der zugrunde liegenden Ressource
(öffentliche Elementfunktion)
Reserviert rohen Speicher für ein Objekt oder ein Array
(öffentliche Elementfunktion)
(C++20)
Reserviert Speicher und konstruiert ein Objekt
(ö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 )