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)
Défini dans l'en-tête <memory>
template < class T, class ... Args >
static void construct ( Alloc & a, T * p, Args && ... args ) ;
(depuis C++11)
(constexpr depuis C++20)

Si possible, construit un objet de type T dans le stockage non initialisé alloué pointé par p , en appelant a. construct ( p, std:: forward < Args > ( args ) ... ) .

Si ce qui précède n'est pas possible (par exemple Alloc ne possède pas la fonction membre construct() ), alors appelle

:: new ( static_cast < void * > ( p ) ) T ( std:: forward < Args > ( args ) ... )

(jusqu'à C++20)

std:: construct_at ( p, std:: forward < Args > ( args ) ... )

(depuis C++20)

Table des matières

Paramètres

a - allocateur à utiliser pour la construction
p - pointeur vers la mémoire non initialisée sur laquelle un objet T sera construit
args... - les arguments du constructeur à passer à a. construct ( ) ou à placement-new (jusqu'en C++20) std::construct_at() (depuis C++20)

Valeur de retour

(aucun)

Notes

Cette fonction est utilisée par les conteneurs de la bibliothèque standard lors de l'insertion, de la copie ou du déplacement d'éléments.

Parce que cette fonction fournit le repli automatique vers le placement new, la fonction membre construct() est une exigence optionnelle Allocator depuis C++11.

Voir aussi

fonctions d'allocation
(fonction)
(jusqu'en C++20)
construit un objet dans un stockage alloué
(fonction membre publique de std::allocator<T> )
crée un objet à une adresse donnée
(fonction template)