如果我用c ++调用new会发生什么,但堆内存不足?

时间:2016-02-29 17:54:39

标签: c++ c malloc new-operator

我很想知道当堆内存已满时会发生什么,我们在new中调用c++运算符或malloc调用c?有没有办法清除整个堆内存?

1 个答案:

答案 0 :(得分:2)

来自"New and delete (C++)" on Wikipedia

  

如果免费商店中没有足够的内存可用于T类型的对象,则new请求会通过抛出std::bad_alloc类型的异常来指示失败。这样就无需明确检查分配结果。