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.