Next: Konstruktor
Up: Dynamische Speicherallokation und häufig
Previous: Dynamische Speicherallokation
new
new den gewünschten Speicher nicht reservieren kann,
wird die Funktion aufgerufen, auf die _new_handler zeigt.
Ist _new_handler nicht definiert, gibt new NULL
zurück.
new aufgerufen werden:
#include <iostream.h>
#include <new.h>
extern "C"
{ #include <stdlib.h>
}
void NoSpace()
{ cerr << "Not enough free memory; ";
cerr << "new failed" <<endl;
exit(1);
}
main()
{ set_new_handler(NoSpace);
// entspricht 400 MByte (Linux, Alpha)
int *ptr = new int [104857600];
}
| © 1997 Gottfried Rudorfer, C++-AG, Lehrveranstaltungen, Abteilung für Angewandte Informatik, Wirtschaftsuniversität Wien, 6/4/1998 |