std::allocator_traits<Alloc>:: construct
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert in Header
<memory>
|
||
|
template
<
class
T,
class
...
Args
>
static void construct ( Alloc & a, T * p, Args && ... args ) ; |
(seit C++11)
(constexpr seit C++20) |
|
Konstruiert, falls möglich, ein Objekt vom Typ
T
im allokierten nicht initialisierten Speicher, auf den
p
zeigt, durch Aufruf von
a.
construct
(
p,
std::
forward
<
Args
>
(
args
)
...
)
.
Wenn das Obige nicht möglich ist (z.B.
Alloc
besitzt nicht die Memberfunktion
construct()
), dann wird
|
:: new ( static_cast < void * > ( p ) ) T ( std:: forward < Args > ( args ) ... ) |
(bis C++20) |
|
std:: construct_at ( p, std:: forward < Args > ( args ) ... ) |
(seit C++20) |
Inhaltsverzeichnis |
Parameter
| a | - | Allokator, der für die Konstruktion verwendet wird |
| p | - |
Zeiger auf den nicht initialisierten Speicher, auf dem ein
T
-Objekt konstruiert wird
|
| args... | - | die Konstruktorargumente, die an a. construct ( ) oder an Placement-New (bis C++20) std::construct_at() (seit C++20) übergeben werden |
Rückgabewert
(keine)
Hinweise
Diese Funktion wird von den Standardbibliothek-Containern beim Einfügen, Kopieren oder Verschieben von Elementen verwendet.
Da diese Funktion automatisch auf Placement New zurückgreift, ist die Memberfunktion
construct()
eine optionale
Allocator
-Anforderung seit C++11.
Siehe auch
|
Allokierungsfunktionen
(Funktion) |
|
|
(bis C++20)
|
konstruiert ein Objekt im allokierten Speicher
(öffentliche Mitgliedsfunktion von
std::allocator<T>
)
|
|
(C++20)
|
erstellt ein Objekt an einer gegebenen Adresse
(Funktionstemplate) |