问题 问答题 简答题

如果在申请动态内存时找不到足够大的内存块,malloc和new将返回NULL指针,宣告内存申请失败。你是怎么处理内存耗尽的?

答案

参考答案:

(1)判断指针是否为NULL,如果是则马上用return语句终止本函数。

(2)判断指针是否为NULL,如果是则马上用exit(1)终止整个程序的运行。

(3)为new和malloc设置异常处理函数。例如VisualC++可以用_set_new_hander函数为new设置用户自己定义的异常处理函数,也可以让malloc享用与new相同的异常处理函数。我一般是直接return了。

选择题
单项选择题