Condividi tramite


operatore delete (C++)

rilascia un blocco di memoria.

[::] delete cast-expression
[::] delete [ ] cast-expression

Note

espressione cast l'argomento deve essere un puntatore a un blocco di memoria allocato in precedenza per un oggetto creato da operatore new.eliminazione l'operatore ha un risultato di tipo void e pertanto non restituisce un valore.Di seguito è riportato un esempio:

CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;

Tramite eliminazione in un puntatore a un oggetto non allocato con nuovo fornisce risultati imprevisti.È possibile, tuttavia, utilizzare eliminazione in un puntatore al valore 0.Questa misura significa che, quando nuovo restituisce 0 in caso di errore, eliminando il risultato di un esito negativo nuovo l'operazione è innocua.vedere Il nuovo gli operatori e delete per ulteriori informazioni.

nuovo e eliminazione gli operatori possono essere utilizzati anche per i tipi incorporati, incluse le matrici.se pointer si riferisce prima di una matrice, parentesi vuote del posto pointer:

int* set = new int[100];
//use set[]
delete [] set;

Utilizzo di eliminazione l'operatore su un oggetto libera la memoria.Un programma che dereferenzia un puntatore all'oggetto viene eliminato possibile aggiungere i risultati o arresto anomalo imprevisti.

quando eliminazione viene utilizzato per rilasciare la memoria per l'oggetto di una classe C++, il distruttore dell'oggetto viene chiamato prima che la memoria dell'oggetto sia stata eliminata (se l'oggetto ha un distruttore).

Se l'operando a eliminazione l'operatore è un l-value modificabile, il valore viene definito dopo che l'oggetto viene eliminato.

Esempio

Per esempi sulle modalità di utilizzo eliminazione, vedere operatore new.

Vedere anche

Riferimenti

Espressioni con gli operatori unari

Parole chiave C++

Come eliminare Funzionamento

Utilizzo di eliminazione

nuovo gli operatori e delete

funzione operator delete