Compartilhar via


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.

Consulte também

Referência

Expressões com operadores unários

Palavras-chave C++

Como excluir funciona

Usando delete

novo e excluir operadores

Função de operador delete