I always wondered why automatic setting of the pointer to NULL after delete is not part of the standard. If this gets taken care then many of the crashes due to invalid pointer would not occur. But having said that I could think of couple of reasons why standard would have restricted this:
1. Performance:
An additional instruction could slow down the delete performance.
2. Could it be because of const pointers.
Then again standard could have done something for this special case I guess.
Does anyone know exact reasons for not allowing this ?