std::shared_ptr::reset
Aus cppreference.com
< cpp | memory | shared ptr
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
void reset(); | (1) | (seit C++11) |
template<class Y > void reset( Y* ptr ); | (2) | (seit C++11) |
template<class Y, class Deleter > void reset( Y* ptr, Deleter d ); | (3) | (seit C++11) |
template<class Y, class Deleter, class Alloc > void reset( Y* ptr, Deleter d, Alloc alloc ); | (4) | (seit C++11) |
Ersetzt das verwaltete Objekt mit einem Objekt, auf das
ptr
. Optional deleter d
zugeführt werden kann, die später verwendet werden, um das neue Objekt zu zerstören, wenn keine shared_ptr
Objekte, die es zu besitzen. Standardmäßig wird delete Ausdruck als deleter verwendet. Proper delete Ausdruck, der dem bereitgestellten Typ immer gewählt wird, ist dies der Grund, warum die Funktion als Vorlage mit einem separaten Parameter Y
umgesetzt wird .Original:
Replaces the managed object with an object pointed to by
ptr
. Optional deleter d
can be supplied, which is later used to destroy the new object when no shared_ptr
objects own it. By default, delete expression is used as deleter. Proper delete expression corresponding to the supplied type is always selected, this is the reason why the function is implemented as template using a separate parameter Y
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Wenn
*this
besitzt bereits ein Objekt und es ist die letzte shared_ptr
es zu besitzen, wird das Objekt durch den Besitz deleter zerstört .Original:
If
*this
already owns an object and it is the last shared_ptr
owning it, the object is destroyed through the owned deleter.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Wenn das Objekt, auf das
ptr
ist bereits im Besitz der Funktion führt zu einem undefinierten Verhalten .Original:
If the object pointed to by
ptr
is already owned, the function results in undefined behavior.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
1)
Gibt den Besitz des verwalteten Objekts, falls vorhanden. Nach dem Aufruf verwaltet *this kein Objekt .
Original:
Releases the ownership of the managed object, if any. After the call, *this manages no object.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2-4)
Ersetzt das verwaltete Objekt mit einem Objekt, auf das
ptr
. Y
muss eine vollständige Art und implizit konvertierbar T
sein. Zusätzlich:Original:
Replaces the managed object with an object pointed to by
ptr
. Y
must be a complete type and implicitly convertible to T
. Additionally:The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
Verwendet die delete-Ausdruck als deleter. Eine gültige löschen Ausdruck muss verfügbar sein, dh delete ptr müssen gut ausgebildet sein, genau definierte Verhalten und nicht werfen keine Ausnahmen. Effektiv nennt shared_ptr<T>(ptr).swap(*this); .
Original:
Uses the delete expression as the deleter. A valid delete expression must be available, i.e. delete ptr must be well formed, have well-defined behavior and not throw any exceptions. Effectively calls shared_ptr<T>(ptr).swap(*this);.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
3)
Verwendet die angegebene deleter
d
als deleter. Deleter
muss für die Art kündbare T
, dh d(ptr) müssen gut geformt sein, genau definierte Verhalten und nicht werfen keine Ausnahmen. Deleter
müssen CopyConstructible
sein. Effektiv nennt shared_ptr<T>(ptr, d).swap(*this); .Original:
Uses the specified deleter
d
as the deleter. Deleter
must be callable for the type T
, i.e. d(ptr) must be well formed, have well-defined behavior and not throw any exceptions. Deleter
must be CopyConstructible
. Effectively calls shared_ptr<T>(ptr, d).swap(*this);.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
4)
Gleich wie (3), sondern nutzt zusätzlich eine Kopie des
alloc
für die Zuweisung von Daten für den internen Gebrauch. Alloc
muss ein Allocator
sein. Der Copy-Konstruktor und Destruktor dürfen keine Ausnahmen auslösen. Effektiv nennt shared_ptr<T>(ptr, d, alloc).swap(*this); .Original:
Same as (3), but additionally uses a copy of
alloc
for allocation of data for internal use. Alloc
must be a Allocator
. The copy constructor and destructor must not throw exceptions. Effectively calls shared_ptr<T>(ptr, d, alloc).swap(*this);.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Inhaltsverzeichnis |
[Bearbeiten]Parameter
ptr | - | Zeiger auf ein Objekt Eigentum erwerben Original: pointer to an object to acquire ownership of The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
d | - | deleter zum Löschen des Objekts zu speichern Original: deleter to store for deletion of the object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
alloc | - | allocator für interne Zuweisungen verwenden Original: allocator to use for internal allocations The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[Bearbeiten]Rückgabewert
(None)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten]Ausnahmen
1) 2-4)Wie von der zuständigen Konstruktor angegeben
.
This section is incomplete |
Original:
As specified by the relevant constructor
.
This section is incomplete |
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten]Beispiel
This section is incomplete Reason: no example |
[Bearbeiten]Siehe auch
erzeugt einen neuen shared_ptr (öffentliche Elementfunktion) |