Как стать автором
Обновить

Комментарии 2

На практике почти всегда размер выделенной памяти в куче сохранен где-то перед возвращаемым адресом, вне зависимости от функции: malloc, new или new[].
Ибо у блока выделенной памяти должен быть заголовок с размером и указателем на следующий блок.
Исключение может быть в случае специальных технологий оптимизации скорости выделения памяти, вроде заранее выделенных разделов памяти под фиксированные размеры объектов, но и в этом случае принадлежность к конкретному разделу определяет размер объекта.

Ибо у блока выделенной памяти должен быть заголовок с размером и указателем на следующий блок.

Глупости. Никто никому ничего не должен. Посмотрите как работает jemalloc, также очень похожим образом работает slub в линукс-ядре.

в этом случае принадлежность к конкретному разделу определяет размер объекта.

Слишком приблизительным образом.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.