std::shared_ptr::reset
Da cppreference.com.
< cpp | memory | shared ptr
![]() | Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate. La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
void reset(); | (1) | (dal C++11) |
template<class Y > void reset( Y* ptr ); | (2) | (dal C++11) |
template<class Y, class Deleter > void reset( Y* ptr, Deleter d ); | (3) | (dal C++11) |
template<class Y, class Deleter, class Alloc > void reset( Y* ptr, Deleter d, Alloc alloc ); | (4) | (dal C++11) |
Sostituisce l'oggetto gestito con un oggetto puntato da
ptr
. Opzionale deleter d
possono essere forniti, che viene poi usato per distruggere il nuovo oggetto quando nessun oggetto shared_ptr
lo possiede. Per impostazione predefinita, l'espressione è usata come delete deleter. delete espressione corretta corrispondente al tipo fornito è sempre selezionata, questo è il motivo per cui è implementata la funzione come template usando un parametro separato Y
.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.
Se
*this
già possiede un oggetto ed è l'ultimo shared_ptr
possederlo, l'oggetto viene distrutto attraverso la proprietà deleter.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.
Se l'oggetto puntato da
ptr
è già di proprietà, i risultati della funzione in un comportamento indefinito.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)
Rilascia la proprietà dell'oggetto gestito, se presente. Dopo la chiamata, *this gestisce nessun oggetto.
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)
Sostituisce l'oggetto gestito con un oggetto puntato da
ptr
. Y
deve essere di tipo completo e convertibile in modo implicito T
. Inoltre: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)
Utilizza l'espressione di eliminazione come il deleter. Un'espressione di cancellazione valida deve essere disponibile, delete ptr cioè devono essere ben formati, hanno un comportamento ben definito e non generare alcuna eccezione. Chiama efficacemente 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)
Utilizza la
d
specificato deleter come deleter. Deleter
deve essere richiamabile per il tipo di T
, cioè d(ptr) devono essere ben formati, hanno un comportamento ben definito e non generare alcuna eccezione. Deleter
CopyConstructible
deve essere. Chiama efficacemente 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)
Stessa (3), ma utilizza inoltre una copia di
alloc
per l'assegnazione dei dati per uso interno. Alloc
deve essere un Allocator
. Il costruttore di copia e distruttore non devono generare eccezioni. Chiama efficacemente 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.
Indice |
[modifica]Parametri
ptr | - | puntatore ad un oggetto di acquisire la proprietà di 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 per memorizzare per l'eliminazione dell'oggetto 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 | - | allocatore da utilizzare per l'assegnazione interna 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. |
[modifica]Valore di ritorno
(Nessuno)
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.
[modifica]Eccezioni
1) 2-4)Come specificato dal costruttore in questione
.
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.
[modifica]Esempio
This section is incomplete Reason: no example |
[modifica]Vedi anche
constructs new shared_ptr (metodo pubblico) |