发新话题
打印

在VC6.0中如何让new操作失败后抛出异常?

在VC6.0中如何让new操作失败后抛出异常?

标准C  规定new一个对象时如果分配内存失败就应抛出一个std::bad_alloc异常,如果不希望抛出异常而仅仅传回一个NULL指针,可以用new的无异常版本:new(nothrow)。
VC6.0在<new>头文件中声明了这两种operator new操作符:
void *__cdecl operator new(size_t) _THROW1(std::bad_alloc);
void *__cdecl operator new(size_t, const std::nothrow_t

TOP

发新话题