Duplicar: What REALLY happens when you don’t free after malloc?¿Qué sucede con la memoria que no se libera después del final del programa?
Digamos, por ejemplo:
int main()
{
char* test = new char[50000];
return 0;
}
Lo que sucede con la memoria asignada después de que el programa había terminado? ¿Se libera para otras aplicaciones de inmediato? ¿O tal vez después de un tiempo? ¿O tal vez está perdido para el sistema para siempre? ¿O se intercambia al disco para que nunca vuelva a la RAM? O tal vez algo completamente diferente?
Me gustaría saber lo que sucede en la mayor 3 de SO: Windows (XP y arriba, si hay alguna diferencia), Linux, Mac OS X.