C 語言的 malloc() 在嘗試分配時,如果記憶體不足,則返回 NULL。
malloc()
NULL
C++ 的 CRType* poObj = new CRType; 則丟擲 std::bad_alloc 異常。
CRType* poObj = new CRType;
std::bad_alloc
或者,您可以使用 std::set_new_handler() 指定一個回撥函式,該函式將在記憶體不足時被反覆呼叫,直到有足夠的記憶體可用。
std::set_new_handler()
關於記憶體不足的更多資訊