std::allocator<T>::construct
De fr.cppreference.net
| 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) |
|
(C++20)
|
crée un objet à une adresse donnée
(modèle de fonction) |
|
fonctions d'allocation
(fonction) |