std::allocator_traits<Alloc>:: construct
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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>
)
|
|
(C++20)
|
crée un objet à une adresse donnée
(fonction template) |