When the end of the duration of a region of storage is reached,
the values of all pointers
representing the address of any part of that region of storage
become
invalid pointer values. Indirection through an invalid pointer value and
passing an invalid pointer value to a deallocation function
have undefined behavior
. Any other use of an invalid pointer value has
implementation-defined
behavior
.