高分请高手帮忙C++

来源:百度知道 编辑:UC知道 时间:2024/05/22 11:51:56
/*试编写一个程序处理动态内存申请new不成功、使用动态数组上溢出、
下溢出、delete的指针为空等问题,使用C++的异常处理机制throw,
try-catch中至少有3类以上的错误处理信息提示。*/

请帮忙编程,急

这个应该不难吧,下面的代码随手写的哈,你自己试试。

char* p1 = NULL;
char* p2 = NULL;
char* p3 = NULL;
try
{
p1= new char[-1]; //new失败

p2 = new char[10];
p2[-1] = 0; //下溢
p2[20] = 0; //上溢

p3 = new char[50];
delete p3;
delete p3; //delete一个已经delete了的指针
}
catch(...)
{
//.....
}

动态内存申请new不成功?
好像不太可能出现吧,除非new一个比空闲内存还大的变量。