首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

new以及异常处理

2012-11-25 
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];
 }
}

热点排行