std::uninitialized_construct_using_allocator
Von cppreference.com
| Definiert in Header <memory> |
||
| template< class T, class Alloc, class... Args > constexpr T* uninitialized_construct_using_allocator( T* p, |
(seit C++20) | |
Erzeugt ein Objekt des gegebenen Typs T mittels Uses-Allocator-Konstruktion an der uninitialisierten Speicherstelle, die durch p angegeben ist.
Äquivalent zu
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)...));
Inhalt |
[bearbeiten] Parameter
| p | - | die Speicherstelle, an der das Objekt platziert wird |
| alloc | - | der zu verwendende Allokator |
| args | - | die Argumente, die an den Konstruktor von T übergeben werden sollen |
[bearbeiten] Rückgabewert
Zeiger auf das neu erstellte Objekt vom Typ T.
[bearbeiten] Ausnahmen
Kann jede Ausnahme auslösen, die vom Konstruktor von T ausgelöst wird, typischerweise einschließlich std::bad_alloc.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| (C++11) |
prüft, ob der angegebene Typ Uses-Allocator-Konstruktion unterstützt (Klassen-Template) |
| (C++20) |
erstellt ein Objekt des gegebenen Typs mittels Uses-Allocator-Konstruktion (Funktions-Template) |