Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++
- Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001
// Headerdatei für den New-Handler
#include <new>
// Standard-Headerdateien
#include <iostream>
// Vorwärtsdeklaration
static void eigenerNewHandler();
// Reserve-Speicherplatz
static char* reserveSpeicherplatz;
void initNewHandler ()
{
// je nach Bedarf Speicherplatz allokieren
reserveSpeicherplatz = new char[100000];
// New-Handler installieren
std::set_new_handler(&eigenerNewHandler);
}
static void eigenerNewHandler ()
{
// Reserve-Speicherplatz freigeben
delete [] reserveSpeicherplatz;
// Fehlermeldung auf Standard-Fehlerkanal ausgeben
std::cerr << "Speicherplatz alle (Restspeicher freigegeben)"
<< std::endl;
// entsprechende Exception auslösen
throw std::bad_alloc();
}