new在分配内存的时候,可能会由于自由存储区空间不足,造成抛出异常bad_alloc的问题,为了避免这种问题,可以采用nothrow关键字来进行修饰。
代码如下:
#include <iostream>
#include <new>
using namespace std;
int main(int argc, char *argv[])
{
int *p1 = new int;
int *p2 = new (nothrow)int(1024);
cout << *p1 << ends << *p2 << endl;
delete p1;
delete p2;
return 0;
}