Does delete[] also deallocate the non-null _states[i], as with the original code; or is that not needed?