Foro de elhacker.net

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
  1.  


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
  1. #include <new>
  2.  
  3. try{
  4.    int* arr= new int[100000000];
  5. }catch (std::bad_alloc& exc){
  6.    // Error aquí
  7. }


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
  1. char* array = new (std::nothrow) char[30];
  2. if (array == NULL) {
  3.  // Errror
  4. }