Namespaces
Variants

std:: uninitialized_construct_using_allocator

From cppreference.net
Memory management library
( exposition only* )
Allocators
uninitialized_construct_using_allocator
(C++20)
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 Alloc, class ... Args >

constexpr T * uninitialized_construct_using_allocator ( T * p,
const Alloc & alloc,

Args && ... args ) ;
(depuis C++20)

Crée un objet du type donné T au moyen d'une construction uses-allocator à l'emplacement mémoire non initialisé indiqué par p .

Équivalent à

return std::apply(
    [&]<class... Xs>(Xs&&...xs)
    {
        return std::construct_at(p, std::forward<Xs>(xs)...);
    },
    std::uses_allocator_construction_args<T>(alloc, std::forward<Args>(args)...));

Table des matières

Paramètres

p - l'emplacement mémoire où l'objet sera placé
alloc - l'allocateur à utiliser
args - les arguments à passer au constructeur de T

Valeur de retour

Pointeur vers l'objet nouvellement créé de type T .

Exceptions

Peut lever toute exception levée par le constructeur de T , généralement incluant std::bad_alloc .

Exemple

Voir aussi

vérifie si le type spécifié prend en charge la construction par allocateur
(modèle de classe)
crée un objet du type donné au moyen de la construction par allocateur
(modèle de fonction)