问题背景
在阅读侯杰的《STL源码剖析》的时候,在书中的p45页遇到一段代码,书中并没有给予详细的解释,查阅资料发现网上的解释并不是那么尽如人意,在查阅了《effective C++》这本书之后,总结写出了这篇博客。书中的“问题代码”:
template<class T>
inline T* _allocate(ptrdiff_t size,T*){
set_new_handler(0);//书中没有解释此处代码的含义
T *tmp=(T*)::operator new((size_t)(size*sizeof(T));
if(tmp==0){
cerr<<"out of memory"<<endl;
exit(1);
}