Быстрый вопрос по управлению памятью в C ++
Если я сделаю следующую операцию:
pointer = new char [strlen(someinput_input)+1];
А затем выполните это снова, возможно, с strlen(someinput_input)
.
возвращается другой результат.
Это приводит к тому, что память остается выделенной из предыдущего оператора "new
"? Например, каждый оператор new
получает от ОС еще один блок памяти HEAP или он просто перераспределяется?
Предполагается, что я сделаю окончательный delete pointer[];
, который освободит любую и всю память, которую я когда-либо выделил через new
этому указателю?