new以及异常处理

new以及错误处理new以及错误处理/*如果将“new 所得内存”delete掉却不幸失败,会导致内存泄露(memory leaks)

new以及错误处理

new以及错误处理

/*
    如果将“new 所得内存”delete掉却不幸失败,会导致内存泄露(memory leaks)。如果在“new 所得内存”
身上多次delete则会导致不确定行为。
    当operator new 抛出异常以反映一个未获满足的内存需求之前,它会先调用一个客户指定的错误处理函数,
一个所谓的new_handler。为了指定这个“用以处理内存不足”的函数,客户必须调用set_new_handler函数。
 事例如下:
 */

#include <iostream>

void outOfMem()
{
 std::cerr << "我的博客:http://blog.csdn.net/windows_nt.\n";
 std::abort();
}

int main()
{
 std::set_new_handler(outOfMem);
 for (;;)
 {
  int* pBigDataArray = new int[100000000L];
 }
}