_set_new_mode
new
設定 的 malloc
處理常式模式。
語法
int _set_new_mode( int newhandlermode );
參數
newhandlermode
new
的 malloc
處理常式模式;有效值為 0 或 1。
傳回值
傳回為 malloc
設定的前一個處理常式模式。 傳回值 1 表示,在未配置記憶體時, malloc
先前稱為 new
處理常式常式;傳回值 0 表示它沒有。 如果自 newhandlermode
變數不等於 0 或 1,則會傳回 -1。
備註
C++ _set_new_mode
函式會設定 的 new
malloc
處理常式模式。 處理常式 new
模式會指出在失敗 malloc
時,是否呼叫 由 所 _set_new_handler
設定的 new
處理常式常式。 根據預設, malloc
不會在配置記憶體失敗時呼叫 new
處理常式常式。 您可以覆寫此預設行為,如此一來,當記憶體配置失敗時 malloc
, new
malloc
呼叫處理常式常式 new
的方式與運算子因相同原因而失敗。 如需詳細資訊,請參閱 new
C++ 語言參考 中的 和 delete
運算子。 若要覆寫預設值,請及早在程式中呼叫:
_set_new_mode(1);
在您的程式早期或與 Newmode.obj 連結(請參閱 連結選項 )。
這個函式會驗證其參數。 如果 newhandlermode
為 0 或 1 以外的任何專案,函式會叫用不正確參數處理常式,如參數驗證 中所述 。 如果允許繼續執行, _set_new_mode 會傳回 -1,並將 設定 errno
為 EINVAL
。
根據預設,此函式的全域狀態會限定于應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
需求
常式 | 必要的標頭 |
---|---|
_set_new_mode |
<new.h> |
如需相容性詳細資訊,請參閱相容性。
另請參閱
記憶體配置
calloc
free
realloc
_query_new_handler
_query_new_mode
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應