如果申请动态内存时找不到足够大的内存块,malloc 和new将返回NULL指针,宣告内存申请失败.
处理"内存耗尽"的问题
1)判断指针是否为NULL,如果是则马上用return语句终止本函数。
void Fun(void)
{
A *a =new A;
if(a==NULL)
{
return ;
}
}
2)判断指针是否为NULL,如果是马上用exit(1)终止整个程序的运行。
A* a=new A;
if(a==NULL)
{
cout<<"Memory Exhausted"<<endl;
}
3)为new和malloc设置异常处理函数,例如visual C++可以用_set_new_hander函数为new设置用户自己定义的异常处理函数,也可以让malloc享用与new相同的异常处理函数。
转载请注明原文地址: https://ju.6miu.com/read-676474.html