Стандартные механизмы кучи повторно используют память после ее освобождения; один диапазон адресов может использоваться многими различными значениями в течение времени жизни программы. Однако, как вы предлагаете, такие механизмы получают память из системы по мере необходимости во время выполнения.
Если вам нужно предварительно выделить кусок памяти подходящего размера, а затем распределить выделение из этого, вы бы посмотрели на такие деликатные вещи, как перегрузка глобального оператора new
и его друзей для выполнения выделения из предварительно выделенного пространства, предположительно выдает исключения, когда заранее выделенное пространство заканчивается. [Не пытайтесь делать это без присмотра взрослых - и не обращайтесь ко мне за этим наблюдением; Я курица!]