Размер C ++ динамической памяти во время выполнения
Это то, что мне было интересно некоторое время, и я так и не нашел ответ:
Почему, когда вы выделяете что-то в куче, вы не можете определить размер этого только по указателю, но вы можете удалить это, используя только указатель, и каким-то образом C ++ знает, сколько байтов нужно освободить?
Это как-то связано с тем, как оно хранится в куче? Есть ли эта информация, но не предоставляется C ++?
И, возможно, это должен быть отдельный вопрос, но я думаю, что это довольно тесно связано, поэтому я задам его здесь:
Почему это динамический массив элементов должен быть удален с помощьюdelete []
в отличие от простогоdelete
команда; зачем C ++ эта дополнительная информация, чтобы правильно освободить всю память?