Namespaces
Variants

std::allocator_traits<Alloc>:: construct

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)
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> )
erstellt ein Objekt an einer gegebenen Adresse
(Funktionstemplate)