Cколько памяти занимает массив? С++

Имеется код:

int main() {
    char* buf = new char[16];
    delete[] buf;
    return 0;
}

Часть памяти по адресу созданного массива выглядит так: Матрица байтов Зеленым я выделил сами данные в массиве, желтым те байты, назначение которых мне неизвестно. Важно заметить, что желтые всегда создаются именно такими, какими они тут указаны вне зависимости от размера массива и его адреса.

При выполнении delete[] buf изменяются следующие байты: Матрица байтов

На всякий случай, я так же прикреплю снимок памяти до удаления массива со всеми затронутыми байтами (для удобного сопоставления) Матрица байтов

Вопрос: почему при выполнении delete[] buf изменяется значительно больше байтов, чем массив должен занимать? Известно ли, что именно за данные хранятся в дополнительном пространстве?

Сборка выполняется под windows 10 x86


Ответы (0 шт):