unique_ptr::reset
Übernimmt den Besitz des Zeigerparameters und löscht dann den ursprünglich gespeicherten Zeiger. Wenn der neue Zeiger mit dem ursprünglich gespeicherten Zeiger identisch ist, löscht reset den Zeiger und legt den gespeicherten Zeiger auf nullptr fest.
void reset(pointer ptr = pointer());
void reset(nullptr_t ptr);
Parameter
Parameter |
Beschreibung |
---|---|
ptr |
Ein Zeiger auf die Ressource, deren Besitz übernommen werden soll. |
Hinweise
Verwenden Sie reset, um den gespeicherten Zeiger im Besitz von unique_ptr in ptr zu ändern, und löschen Sie dann den ursprünglich gespeicherten Zeiger. Wenn unique_ptr nicht leer war, ruft reset die Deleter-Funktion, die von get_deleter zurückgegeben wurde, auf dem ursprünglich gespeicherten Zeiger auf.
Da reset zuerst den neuen Zeiger ptr speichert und dann den ursprünglich gespeicherten Zeiger löscht, kann reset sofort ptr löschen, wenn er mit dem ursprünglich gespeicherten Zeiger identisch ist.
Anforderungen
Header: <memory>
Namespace: std