As specified in [basic.compound]
an object that is not an array element
is considered to belong to a single-element array for this purpose and
a pointer past the last element of an array of n
is considered to be equivalent to a pointer
to a hypothetical array element n
for this purpose.