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)
Definiert im Header <memory>
template < class T, class Alloc, class ... Args >

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

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

Erstellt ein Objekt des gegebenen Typs T mittels Uses-Allocator-Konstruktion an der nicht initialisierten Speicherstelle, die durch p angezeigt wird.

Entspricht

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)...));
**Anmerkung:** Der gesamte Code innerhalb der `
` Tags wurde gemäß den Anweisungen nicht übersetzt, da es sich um C++-Code handelt. Die HTML-Struktur und Formatierung bleiben vollständig erhalten.

Inhaltsverzeichnis

Parameter

p - die Speicheradresse, an der das Objekt platziert wird
alloc - der zu verwendende Allokator
args - die an den Konstruktor von T zu übergebenden Argumente

Rückgabewert

Zeiger auf das neu erstellte Objekt vom Typ T .

Exceptions

Kann jede Ausnahme werfen, die vom Konstruktor von T geworfen wird, typischerweise einschließlich std::bad_alloc .

Beispiel

Siehe auch

prüft, ob der angegebene Typ uses-allocator-Konstruktion unterstützt
(Klassen-Template)
erstellt ein Objekt des gegebenen Typs mittels uses-allocator-Konstruktion
(Funktions-Template)