Condividi tramite


operator delete (<new>)

Funzione chiamata da un'espressione delete per rendere nuovamente disponibile l'archiviazione di singoli oggetti.

void operator delete( 
   void* _Ptr 
) throw( ); 
void operator delete( 
   void *,  
   void * 
) throw( ); 
void operator delete( 
   void* _Ptr, 
   const std::nothrow_t& 
) throw( );

Parametri

  • _Ptr
    Puntatore il cui valore deve essere reso non valido dall'eliminazione.

Note

La prima funzione viene chiamata da un'espressione elimina per eseguire il rendering del valore di _Ptr non valido. Il programma può definire una funzione con la firma della funzione che sostituisce la versione predefinita definita la libreria C++ standard. Il comportamento è obbligatorio di accettare un valore di _Ptr che è null o che è stato restituito da una chiamata precedente a operatore new(size_t).

Il comportamento predefinito per un valore null di _Ptr consiste nel non viene eseguita alcuna operazione. Qualsiasi altro valore di _Ptr deve essere un valore restituito precedentemente da una chiamata come descritto in precedenza. Il comportamento predefinito per tale valore diverso da null di _Ptr è recuperare la memoria allocata dalla chiamata precedente. Non è specificato in quali condizioni parte o tutta tale memoria recuperata viene allocata da una chiamata successiva a operator new(size_t), o in uno qualsiasi di calloc(size_t), di malloc(size_t), o di realloc(void*, size_t).

La seconda funzione viene chiamata da un'espressione di delete di posizione corrispondente a una nuova espressione del form nuova(std::size_t). Non esegue alcuna operazione.

La terza funzione viene chiamata da un'espressione di delete di posizione corrispondente a una nuova espressione del form nuova(std::size_t, const std::nothrow_t&). Il programma può definire una funzione con la firma della funzione che sostituisce la versione predefinita definita la libreria C++ standard. Il comportamento è obbligatorio di accettare un valore di _Ptr che è null o che è stato restituito da una chiamata precedente a operator new(size_t). Il comportamento predefinito prevede di valutare eliminazione(_Ptr).

Esempio

Vedere in operatore new per un esempio che utilizza operator delete.

Requisiti

Intestazione: <nuovo>

Spazio dei nomi: std