kennen:lib:set_new_handler
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | kennen:lib:set_new_handler [2019-11-20 16:15] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== set_new_handler() ====== | ||
+ | ''# | ||
+ | |||
+ | <code cpp> | ||
+ | new_handler set_new_handler(new_handler handler) | ||
+ | </ | ||
+ | | ||
+ | die aufzurufen ist, wenn kein Speicher reserviert werden kann. | ||
+ | |||
+ | Ein '' | ||
+ | * mehr Speicher für den |new|-Aufruf bereitstellen und dann zurückkehren, | ||
+ | * eine '' | ||
+ | * '' | ||
+ | ==== Parameter ==== | ||
+ | | '' | ||
+ | Die Funktion muss folgenden Typ besitzen: | ||
+ | |||
+ | <code cpp> | ||
+ | typedef void (*new_handler) (); | ||
+ | </ | ||
+ | ==== Ergebnis ==== | ||
+ | Rückgabewert: | ||
+ | |||
+ | ==== Siehe auch ==== | ||
+ | [[..: | ||
+ | |||
+ | ==== Beispiel ==== | ||
+ | <code cpp set_new_handler.cpp> | ||
+ | #include <new> | ||
+ | #include < | ||
+ | |||
+ | void notstand() | ||
+ | { | ||
+ | std::cerr << "... wird es auch schief gehen." | ||
+ | throw std:: | ||
+ | } | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | std:: | ||
+ | |||
+ | try | ||
+ | { | ||
+ | std::cout << "Wenn etwas schiefgehen kann, ..." << std:: | ||
+ | double *p = new double[ 100000000 ]; | ||
+ | } | ||
+ | catch(std:: | ||
+ | { | ||
+ | std::cerr << " | ||
+ | } | ||
+ | std:: | ||
+ | } | ||
+ | </ | ||
kennen/lib/set_new_handler.txt · Zuletzt geändert: 2019-11-20 16:15 von 127.0.0.1