operador delete (<new>)
A função chamada por uma expressão de exclusão para desalocar o armazenamento do indivíduo de objetos.
void operator delete(
void* _Ptr
) throw( );
void operator delete(
void *,
void *
) throw( );
void operator delete(
void* _Ptr,
const std::nothrow_t&
) throw( );
Parâmetros
- _Ptr
O ponteiro cujo valor deve ser tornado inválido pela exclusão.
Comentários
A primeira função for chamada por uma expressão de exclusão para tornar o valor de _Ptr inválido. O programa poderá definir uma função com a assinatura de função que substitui a versão padrão definida pela biblioteca padrão do C++. O comportamento é necessário aceitar um valor de _Ptr que sejam nulos ou que é retornado por uma chamada anterior a operador novo(size_t).
O comportamento padrão para um valor nulo de _Ptr é não fazer nada. Qualquer outro valor de _Ptr deve ser um valor anterior retornado por uma chamada como descrito anteriormente. O comportamento padrão para um valor não nulo é tão de _Ptr recuperar o armazenamento alocado pela chamada anterior. Não é especificado sob quais circunstâncias parte ou todo esse armazenamento recuperado é atribuído por uma chamada subsequente a operator new(size_t), ou qualquer de calloc(size_t), de malloc(size_t), ou de realloc(void*, size_t).
A segunda função for chamada por uma expressão de exclusão de posicionamento que corresponde a uma nova expressão de formato new(std::size_t). Não fará nada.
A terceira função for chamada por uma expressão de exclusão de posicionamento que corresponde a uma nova expressão de formato new(std::size_t, const std::nothrow_t&). O programa poderá definir uma função com a assinatura de função que substitui a versão padrão definida pela biblioteca padrão do C++. O comportamento é necessário aceitar um valor de _Ptr que sejam nulos ou que é retornado por uma chamada anterior a operator new(size_t). O comportamento padrão é avaliar delete(_Ptr).
Exemplo
Consulte operador novo para obter um exemplo que usa operator delete.
Requisitos
Cabeçalho: <novo>
Namespace: std