c++内存管理-分配失败
生活随笔
收集整理的這篇文章主要介紹了
c++内存管理-分配失败
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分配失敗
分配失敗,會拋出std::bad_alloc exception,并且返回的指針為0;在拋出異常之前,會調用這個函數new_handler。
typedef void (*new_handler)();
- 讓更多內存
- 調用abort,exit
new_handler set_new_handler(new_handler p) throw;
while(p==mallock(size)==0)
? ? ? ? ?TRY_BEGIN
? ? ? ? ? ? ? ? if(_callnewh(size))
? ? ? ? ?Catch? std::bad_alloc
? ? ? ? ? Catch_END
范例
void noMoreMemory(){
? ?cerr<<"out of memory";
abort();
}
void main()
{
? ? ?set_new_handler(noMoreMemory);
}
?
總結
以上是生活随笔為你收集整理的c++内存管理-分配失败的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ static allocator
- 下一篇: c++内存管理-VC6