Tratamento de condições de memória insuficiente
Teste para alocação de memória com falha pode ser feito com o código como o seguinte:
// 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;
}
}
Não há outra maneiras para lidar com solicitações de alocação de memória com falha: escrever uma rotina de recuperação personalizada para lidar com tal falha e registre a sua função, chamando o _set_new_handler a função de tempo de execução.