After implicitly creating objects within a specified region of storage,
some operations are described as producing a pointer to a
suitable created object (
[basic.types])
. These operations select one of the implicitly-created objects
whose address is the address of the start of the region of storage,
and produce a pointer value that points to that object,
if that value would result in the program having defined behavior
. If no such pointer value would give the program defined behavior,
the behavior of the program is undefined
.