Для C ++ разница между бесплатным хранилищем и кучей стала чисто концептуальной. Как банка для сбора жуков, и одна для сбора печенья. Один помечен в одну сторону, другой другой. Это обозначение указывает на то, что вы НИКОГДА не смешиваете «new» и «delete» с «malloc», «realloc» или «free» (или наборы битовых уровней в этом отношении).
Во время интервью полезно сказать, что «new и delete используют free store, malloc и free используют кучу; new и delete вызывают соответственно конструктор и деструктор, а malloc и free - нет». Тем не менее, вы часто будете слышать, что сегменты памяти действительно находятся в одной и той же области - однако МОЖЕТ быть зависимым от компилятора, то есть возможно, что оба могут определять разные пространства памяти в качестве пулов (не знаю, почему это так, хотя).