Duplikat: What REALLY happens when you don’t free after malloc?Co dzieje się z pamięcią, która nie została zwolniona po zakończeniu programu?
Powiedzmy, na przykład:
int main()
{
char* test = new char[50000];
return 0;
}
Co dzieje się z przydzielonej pamięci po programie skończył? Czy natychmiast zostanie zwolniony dla innych aplikacji? A może po jakimś czasie? A może na zawsze stracił system? Czy może zostać zamieniony na dysk, aby nigdy nie powrócić do pamięci RAM? A może coś zupełnie innego?
Chciałbym wiedzieć, co dzieje się na głównych 3 OS-ów: Windows (XP, a nawet, jeśli są jakieś różnice), Linux, Mac OS X.