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