std::allocator_traits<Alloc>:: allocate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert im Header
<memory>
|
||
|
static
pointer allocate
(
Alloc
&
a, size_type n
)
;
|
(1) |
(seit C++11)
(constexpr seit C++20) |
|
static
pointer allocate
(
Alloc
&
a, size_type n, const_void_pointer hint
)
;
|
(2) |
(seit C++11)
(constexpr seit C++20) |
Verwendet den Allokator a zur Allokation von n * sizeof ( Alloc :: value_type ) Bytes nicht initialisierten Speichers. Ein Array vom Typ Alloc :: value_type [ n ] wird im Speicher erstellt, jedoch werden keine seiner Elemente konstruiert.
allocate
besitzt), ruft
a.
allocate
(
n
)
auf.
Inhaltsverzeichnis |
Parameter
| a | - | zu verwendender Allokator |
| n | - | Anzahl der Objekte, für die Speicher allokiert werden soll |
| hint | - | Zeiger auf einen nahegelegenen Speicherbereich |
Rückgabewert
Der von dem Aufruf von a. allocate ( n ) zurückgegebene Zeiger.
Hinweise
Alloc::allocate
war nicht verpflichtet, Array-Objekte zu erstellen, bis
P0593R6
, wodurch die Verwendung eines nicht-standardmäßigen Allokators für
std::vector
und einige andere Container gemäß einer strengen Auslegung der Kernsprachspezifikation nicht wohldefiniert war.
Nach dem Aufruf von
allocate
und vor der Konstruktion der Elemente ist die Zeigerarithmetik von
Alloc
::
value_type
*
innerhalb des allokierten Arrays wohldefiniert, aber das Verhalten ist undefiniert, wenn auf Elemente zugegriffen wird.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
weist nicht initialisierten Speicher zu
(öffentliche Elementfunktion von
std::allocator<T>
)
|