Compartilhar via


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