Дубликат: Что ДЕЙСТВИТЕЛЬНО происходит, когда вы не освободить после malloc?
Скажем, например:
int main()
{
char* test = new char[50000];
return 0;
}
Что происходит с выделенной памятью после завершения программы? Он сразу же освобождается для других приложений? Или, может быть, через какое-то время? Или, может быть, это потеряно для системы навсегда? Или он переключается на диск, чтобы никогда не вернуться в ОЗУ? А может что-то совсем другое?
Я хотел бы знать, что происходит в трех основных ОС: Windows (XP и выше, если есть различия), Linux, Mac OS X.