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