在C++中new在申请内存失败时默认会抛出一个std::bad_alloc 异常。
所以,按照C++标准,如果想检查new是否成功,则应该通过try catch捕捉异常。
但有些编译器不支持try catch。
用户一般简单地使用”new(std::nothrow) 类型”。
new在分配内存失败时会抛出异常,
而”new(std::nothrow)”在分配内存失败时会返回一个空指针。
————————————————
在C++中new在申请内存失败时默认会抛出一个std::bad_alloc 异常。
所以,按照C++标准,如果想检查new是否成功,则应该通过try catch捕捉异常。
但有些编译器不支持try catch。
用户一般简单地使用”new(std::nothrow) 类型”。
new在分配内存失败时会抛出异常,
而”new(std::nothrow)”在分配内存失败时会返回一个空指针。
————————————————