如果无法分配请求的内存,C++程序可以定义和设置一个new_handler()
,应该从内存分配函数(如operator new()
)调用该函数。除了垃圾收集之外,还有什么可以在C++中使用“new_handler”?
自定义new_handler()
的一个用途是dealing with C++ implementations that don't throw an exception on allocation failure。另一个用途是在实现垃圾收集的系统上启动垃圾收集。
还有什么其他用途的自定义new_handler()
?