◐ Shell
clean mode source ↗

std::shared_ptr::reset – cppreference.com

Aus cppreference.com

<metanoindex/>

<tbody> </tbody>

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Ausnahmen

1)

2-4)

Wie von der zuständigen Konstruktor angegeben

.

Original:

As specified by the relevant constructor

.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Beispiel

Siehe auch