Namespaces
Variants

std::allocator<T>::construct

De fr.cppreference.net
 
 
Bibliothèque de gestion de la mémoire
Allocateurs
Ressources mémoire
Stockage non initialisé (jusqu'à C++20*)
Support du ramasse-miettes (jusqu'à C++23)
 
 
Défini dans l'en-tête <memory>
void construct( pointer p, const_reference val );
(1) (jusqu'à C++11)
template< class U, class... Args >
void construct( U* p, Args&&... args );
(2) (depuis C++11)
(obsolète en C++17)
(supprimé en C++20)

Construit un objet de type T dans le stockage non initialisé alloué pointé par p, en utilisant le placement-new global.

1) Appelle ::new((void*)p) T(val).
2) Appelle ::new((void*)p) U(std::forward<Args>(args)...).

Paramètres

p - pointeur vers la mémoire allouée non initialisée
val - la valeur à utiliser comme argument du constructeur de copie
args... - les arguments du constructeur à utiliser

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement corrigé
LWG 402 C++98 si T :: operator new existe, le programme pourrait être mal formé utilise le replacement-new global à la place

Voir aussi

[static]
construit un objet dans le stockage alloué
(modèle de fonction)
crée un objet à une adresse donnée
(modèle de fonction)
fonctions d'allocation
(fonction)