メモリ不足状態の処理
失敗したメモリ割り当てのテストは、次のようなコードを使用して実行できます。
// insufficient_memory_conditions.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
#define BIG_NUMBER 100000000
int main() {
int *pI = new int[BIG_NUMBER];
if( pI == 0x0 ) {
cout << "Insufficient memory" << endl;
return -1;
}
}
他にも失敗したメモリ割り当て要求を処理する方法はあります。このようなエラーを処理するカスタム リカバリ ルーチンを作成し、_set_new_handler ランタイム関数を呼び出して関数を登録する方法です。