读书人

new以及异常处理

发布时间: 2012-11-25 11:44:31 作者: rapoo

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];
}
}

读书人网 >编程

热点推荐