在分配内存时,如果内存不可用,new运算符会抛出异常。另一方面,malloc返回NULL。实现差异的原因是什么?此外,在静态内存分配(即在堆栈上)中,如果我们耗尽内存,是否会有异常?
我已经阅读了链接What is the difference between new/delete and malloc/free?,但没有找到关于两者实现差异的答案。
我已经阅读了链接What is the difference between new/delete and malloc/free?,但没有找到关于两者实现差异的答案。
new
有一个无需抛出异常的重载版本,它会返回0而不是抛出异常。 - Matthieu M.