Set_new_handler

  • Se l'operatore new non riesce ad allocare la memoria per un oggetto, invoca la funzione installata con set_new_handler
  • La funzione richiamata può cercare di liberare memoria
  • Al ritorno dalla funzione, l'operatore new riprova ad allocare la memoria richiesta e, se non ci riesce ancora, richiama di nuovo il gestore di errore
  • Il gestore di errore può liberare della memoria oppure può terminare il programma tramite la funzione exit, magari dopo aver stampato un messaggio di errore
  • Questo metodo evita la programma l'onere di verificare ogni volta se l'operatore new ha avuto successo, in quanto se non l'ha avuto, il gestore di errore non farà proseguire il programma

© Ing. Stefano Salvi - All rights reserved