Ребят, такая тема. Есть динамический массив array, допустим на 10 ячеек. Надо освободить память после какой то ячейки (например после пятой). Могу ли я просто написать delete [] (array + 5); ?
Знаешь же как создается динамический массив?
Ты говоришь, алокатор, выдели мне памяти вот на десять ячеек.
Он тебе говорит, окей. Выделил, вот тебе указатель на начало.
Когда тебе понадобится очистить память, ты мне дашь этот указатель и скажешь очистить и я тебе очищу всю эту память.
Поэтому удалить ты можешь ТОЛЬКО то, что тебе дали через new. Если ты попробуешь удалить что-то со стэка, или через адресную арифметику - ты получишь undefined behaviour.