Demostración de new lanzando bad_alloc cuando la memoria no se asigna

¿Has encontrado un error? ¿Tienes la solución? Deja tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por estudiante con únicamente conocimiento básico del lenguaje, no de programación.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
using std::cout;
using std::endl;
 #include <new>
 
using std::bad_alloc;
 
int main(){
   double *ptr[ 50 ];
   
   try {   
      for ( int i = 0; i < 50; i++ ) {         ptr[ i ] = new double[ 5000000 ];
         cout << "5000000 doubles asignados en ptr[ " 
              << i << " ]n";
      } // fin de for
   } // fin de try   catch (  bad_alloc exception ) {
      cout << "Ocurrio una excepcion: " 
           << exception.what() << endl;
   } // fin de catch
      return 0;
} // fin de la función main

Punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C <code lang="c">Código en C</code>
  • Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.

De esta manera el código coloreas el código.

Deja un comentario

Suscribirse a los comentarios.