Excluir operador (C++)
Desaloca um bloco de memória.
[::] delete cast-expression
[::] delete [ ] cast-expression
Comentários
O expressão de conversão o argumento deve ser um ponteiro para um bloco de memória anteriormente alocado para um objeto criado com o operador new.O Excluir operador tem um resultado do tipo void e, portanto, não retornar um valor.Por exemplo:
CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;
Usando Excluir em um ponteiro para um objeto não alocado com nova oferece resultados imprevisíveis.No entanto, você pode usar Excluir em um ponteiro com o valor 0.Esta disposição significa que, quando nova retorna 0 em caso de falha, excluindo o resultado de uma falha na nova operação é inofensiva.Consulte o novo e excluir os operadores de para obter mais informações.
O nova e Excluir operadores também podem ser usados para tipos internos, inclusive arrays.Se pointer refere-se a uma matriz, o lugar de colchetes vazios antes de pointer:
int* set = new int[100];
//use set[]
delete [] set;
Usando o Excluir o operador em um objeto desaloca sua memória.Um programa que cancela a referência de um ponteiro depois que o objeto é excluído pode ter resultados imprevisíveis ou travamento.
Quando Excluir é usado para desalocar memória para um objeto de classe do C++, destruidor do objeto é chamado antes que a memória do objeto é desalocada (se o objeto tem um destruidor).
Se o operando para o Excluir operador é um valor l modificável, seu valor é indefinido, depois que o objeto é excluído.
Exemplo
Para exemplos de uso Excluir, consulte operador new.