Tratando condições de memória insuficientes
Os testes para alocação de memória com falha podem ser feitos com código, como este:
// 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;
}
}
Há outra maneira de resolver solicitações de alocação de memória com falha: escrever uma rotina de recuperação personalizada para resolver essa falha e depois registrar a função chamando a função em tempo de execução _set_new_handler.