Преглед изворни кода

feat: 添加 new handler 的一些说明

liucong5 пре 2 година
родитељ
комит
42aa835ec4
1 измењених фајлова са 7 додато и 1 уклоњено
  1. 7 1
      cpp/内存机制.md

+ 7 - 1
cpp/内存机制.md

@@ -789,7 +789,10 @@ set_new_handler(newErr);
 
 这样做其实就是让用户判断一下有没有补救措施,然后再调用一次 `malloc` ,说不定就成功了
 
+一般在 `new handler` 中会进行一些操作
 
+- 检查可释放内存,提前释放掉,这样内存多了获取就可以 `new` 成功了
+- 调用 `abort()` 或者 `exit()` 主动退出并且弹出警告信息
 
 ```cpp
 void* __CRTDECL operator new(size_t const size)
@@ -814,4 +817,7 @@ void* __CRTDECL operator new(size_t const size)
         // The new handler was successful; try to allocate again...
     }
 }
-```
+```
+
+> 不同的平台和版本可能有差异
+