std::allocator<T>::construct
Von cppreference.com
| 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) |
| (C++20) |
erstellt ein Objekt an einer gegebenen Adresse (Funktions-Template) |
| Allokationsfunktionen (Funktion) |