Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: eduardo17445 en 20 Noviembre 2016, 19:15 PM

Título: por favor denme una idea como hacer este codigo
Publicado por: eduardo17445 en 20 Noviembre 2016, 19:15 PM
como escribo un codigo que verifique si esa llamada  a new falla  por falta de almasenamiento suficiente visualice un mensaje de error  en pantalla que lo exprese adecuadamente
Código (cpp) [Seleccionar]
Título: Re: por favor denme una idea como hacer este codigo
Publicado por: ivancea96 en 20 Noviembre 2016, 21:08 PM
Generalmente, una llamada a new, al fallar, tirará una excepción del tipo bad_alloc:

Código (cpp) [Seleccionar]
#include <new>

try{
    int* arr= new int[100000000];
}catch (std::bad_alloc& exc){
    // Error aquí
}
Título: Re: por favor denme una idea como hacer este codigo
Publicado por: geeke en 20 Noviembre 2016, 22:49 PM
También puedes usar new sin excepción (nothrow) en ese caso retornara null si hubo un error

Código (cpp) [Seleccionar]
char* array = new (std::nothrow) char[30];
if (array == NULL) {
  // Errror
}