Mega Code Archive

 
Categories / C++ Tutorial / Development
 

Demonstrating set_new_handler

#include <iostream> #include <new> #include <cstdlib> using std::cerr; using std::cout; using std::set_new_handler; using std::abort; void f() {    cerr << "called";    abort(); } int main() {    double *ptr[ 50 ];    set_new_handler( f );    for ( int i = 0; i < 50; i++ )    {       ptr[ i ] = new double[ 50000000 ];       cout << "Allocated 50000000 doubles in ptr[ " << i << " ]\n";    }    return 0; } Allocated 50000000 doubles in ptr[ 0 ] Allocated 50000000 doubles in ptr[ 1 ] Allocated 50000000 doubles in ptr[ 2 ] Allocated 50000000 doubles in ptr[ 3 ] Allocated 50000000 doubles in ptr[ 4 ] called This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.