Gestire gli stati di memoria insufficiente
Il test per l'allocazione della memoria non può essere realizzato con il codice seguente:
// 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;
}
}
Sono disponibili altre modalità per gestire le richieste non riuscite di allocazione della memoria: scrivere una routine di recupero personalizzata per gestire tale errore, quindi registrare la funzione chiamando _set_new_handler funzione in fase di esecuzione.