I need a bit of clarifaction here.
When you allocate memory in a dynamic memory it is depending on however you decide to increment your max of your array, so if my objective was to delete a single object in the array I would do the same as a static array, find element shift everything after it over it and decrement length? There is no way to deallocate that memory that single element is taking up because its already been set(allocated) to the entire max size, that why the statement
delete array[i];
is somewhat invalid and
delete [] array;
is?