Namensräume
Varianten
Aktionen

std::allocator<T>::construct

Von cppreference.com
< cpp‎ | Speicher‎ | Allocator
 
 
Speicherverwaltungsbibliothek
(nur Exposition*)
Algorithmen für uninitialisierten Speicher
(C++17)
(C++17)
(C++17)
Beschränkte uninitialisierte
Speicher-Algorithmen
C-Bibliothek

Allocatoren
Speicherressourcen
Unterstützung für Garbage Collection
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
Uninitialisierter Speicher
Explizites Lebenszeitmanagement
 
 
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)
(in C++20 entfernt)

Konstruiert ein Objekt vom Typ T im zugewiesenen, uninitialisierten Speicher, auf den p zeigt, unter Verwendung von globalem Placement-new.

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

Inhalt

[bearbeiten] Parameter

p - Zeiger auf zugewiesenen, uninitialisierten Speicher
val - der Wert, der als Argument für den Kopierkonstruktor verwendet werden soll
args... - die zu verwendenden Konstruktorargumente

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Fehlermeldungen

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

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 402 C++98 falls T::operator new existiert, kann das Programm ungültig sein verwendet stattdessen globalen Ersatze-new

[bearbeiten] Siehe auch

[static]
konstruiert ein Objekt im allozierten Speicher
(function template) [edit]
erstellt ein Objekt an einer gegebenen Adresse
(Funktions-Template) [edit]
Allokationsfunktionen
(Funktion) [bearbeiten]