Now, say, for one reason or another you decide to reassign buffer so that it no longer points to the beginning of your array, but to another part of the array.
buffer = &buffer[i]
lets say i = 50.
Later, you decide to delete your array, like so
delete buffer[].
From the documentation, as I understand it, delete should delete all of our array that is pointed to by buffer. Does this include elements 1-50? It seems that since we reassigned buffer so that it points to the 50th element of our array, that there is no way delete is going to know about these original elements. It should only delete elements 50 to the end, no? What happens to our original 50 elements if they aren't deleted?