Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2015, 10:14
cristiansc93
Invitado
 
Mensajes: n/a
Puntos:
Respuesta inesperada en asignación de memoria

El programa es solamente para asignar la mayor cantidad de memoria posible utilizando arrays. Pero mi duda es que asigna valores cercanos a 30 mil, mas o menos el tamaño de un entero, y las variables son long double, esperaria una cantidad muchisimo mayor de asignación. Podria alguien decirme como corre en su computadora y/o compartirme algun conocimiento mas detallado sobre su ejecucion?

Les paso el copy-paste:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <new>
  3. using namespace std;
  4.  
  5. int main ()
  6. {
  7.     long long int n = 0;
  8.     long long int * p;
  9.  
  10.     while(p != 0)
  11.  
  12. // Utilizo zero por que no me gusta modificar el compilador para que                    //agarren los null y nullptr
  13.  
  14.     {
  15.  
  16. //nothrow evita que new se rompa al toparse con la memoria maxia y no poder asignar //mas, en lugar de eso, regresa un puntero nulo o... a mi humilde entendimiento 0.
  17.  
  18.         p= new (nothrow) long long int[n];
  19.         n++;
  20.     }
  21.  
  22.     cout << endl << "-----------------------" << endl;
  23.     cout << "size: " << n << endl;
  24.  
  25.     delete[] p;
  26.  
  27.     return 0;
  28. }

Última edición por razpeitia; 13/03/2015 a las 11:28