std::pmr::polymorphic_allocator<T>:: allocate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
polymorphic_allocator::allocate
|
||||
|
(
C++20/26*
)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
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
|
(C++20)
|
Reserviert rohen ausgerichteten Speicher von der zugrunde liegenden Ressource
(öffentliche Elementfunktion) |
|
(C++20)
|
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
)
|