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