В спецификации стандарта для арифметики указателей ([expr.add]/4.2
) мы имеем:
В противном случае, если
P
указывает на элемент массива i объекта массиваx
с элементами n ([dcl.array]), выраженияP + J
иJ + P
(гдеJ
имеет значение j) указывают на (возможно, гипотетический) элемент массива i + j изx
, если 0 ≤ i + j ≤ n и выражениеP - J
указывает на (возможно, гипотетический) элемент массива i − j изx
, если 0 ≤ i − j ≤ n.
Что здесь означает «возможно-гипотетический»? Этот отрывок уже ограничивает результирующий указатель тем, что он находится в диапазоне массива. Ну, в том числе слот с одним прошедшим концом. Это то, на что он ссылается?