Namespaces
Variants

std::allocator<T>::construct

Von de.cppreference.net
 
 
Speicherverwaltungsbibliothek
Allokatoren
Speicherressourcen
Nicht initialisierter Speicher (bis C++20*)
Garbage-Collector-Unterstützung (bis C++23)
 
 
Definiert in Header <memory>
void construct( pointer p, const_reference val );
(1) (bis C++11)
template< class U, class... Args >
void construct( U* p, Args&&... args );
(2) (seit C++11)
(veraltet in C++17)
(entfernt in C++20)

Konstruiert ein Objekt des Typs T im allozierten nicht initialisierten Speicher, auf den von p unter Verwendung von global placement-new.

1) Ruft ::new((void*)p) T(val).
2) Ruft ::new((void*)p) U(std::forward<Args>(args)...).

Parameter

p - Zeiger auf allokierten nicht initialisierten Speicher
val - der als Kopierkonstruktor-Argument zu verwendende Wert
args... - die zu verwendenden Konstruktorargumente

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 402 C++98 falls T :: operator new existiert, könnte das Programm fehlerhaft sein verwendet globalen Ersetzungs-new stattdessen

Siehe auch

[static]
Konstruiert ein Objekt im allozierten Speicher
(Funktions-Template)
Erstellt ein Objekt an einer gegebenen Adresse
(Funktions-Template)
Allokierungsfunktionen
(Funktion)