std::pmr::polymorphic_allocator<T>:: new_object
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(
C++20/26*
)
|
||||
|
polymorphic_allocator::new_object
(C++20)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
template
<
class
U,
class
...
CtorArgs
>
U * new_object ( CtorArgs && ... ctor_args ) ; |
(depuis C++20) | |
Alloue et construit un objet de type
U
.
Étant donné que
alloc
est un
std::
pmr
::
polymorphic_allocator
<
T
>
:
U* p = alloc.new_object<U>(std::forward<CtorArgs>(ctor_args)...);
est équivalent à
U* p = alloc.allocate_object<U>(); try { alloc.construct(p, std::forward<CtorArgs>(ctor_args)...); } catch (...) { alloc.deallocate_object(p); throw; }
Table des matières |
Paramètres
| ctor_args | - |
les arguments à transmettre au constructeur de
U
|
Valeur de retour
Un pointeur vers l'objet alloué et construit.
Notes
Cette fonction a été introduite pour être utilisée avec l'allocateur pleinement spécialisé std:: pmr :: polymorphic_allocator <> , mais elle peut être utile dans toute spécialisation comme raccourci pour éviter d'avoir à rebinder depuis std:: pmr :: polymorphic_allocator < T > vers std:: pmr :: polymorphic_allocator < U > , et d'avoir à appeler allocate , construct , et deallocate individuellement.
Puisque
U
n'est pas déduit, il doit être fourni comme argument de modèle lors de l'appel de cette fonction.
Exceptions
Peut lever toutes les exceptions levées par l'appel à
allocate_object
ou le constructeur de
U
.
Voir aussi
|
(C++20)
|
alloue de la mémoire brute alignée à partir de la ressource sous-jacente
(fonction membre publique) |
|
(C++20)
|
alloue de la mémoire brute adaptée pour un objet ou un tableau
(fonction membre publique) |
|
alloue de la mémoire
(fonction membre publique) |
|
|
[static]
|
alloue un stockage non initialisé en utilisant l'allocateur
(fonction membre publique statique de
std::allocator_traits<Alloc>
)
|
|
alloue de la mémoire
(fonction membre publique de
std::pmr::memory_resource
)
|