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