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#include <iostream>
#include <new>
using namespace std;
int main ()
{
long long int n = 0;
long long int * p;
while(p != 0)
// Utilizo zero por que no me gusta modificar el compilador para que //agarren los null y nullptr
{
//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.
p= new (nothrow) long long int[n];
n++;
}
cout << endl << "-----------------------" << endl;
cout << "size: " << n << endl;
delete[] p;
return 0;
}