Controlar las condiciones de memoria insuficiente
La prueba de error de asignación de memoria se puede realizar con código como el siguiente:
// 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;
}
}
Hay otras maneras de controlar los errores de solicitud de asignación de memoria: escriba una rutina de recuperación personalizada para controlar el error, después registre la función mediante una llamada a la función en tiempo de ejecución _set_new_handler.