Annex F (informative)
Core undefined behavior
[ub]
F.3
[expr]
: Expressions
[ub.expr]
F.3.31
[ub:expr.add.sub.diff.pointers]
Specified in:
[expr.
add]
1
#
Subtracting pointers that are not part of the same array has undefined behavior
.
2
#
[
Example
1
:
#include
<
cstddef
>
void
f
(
)
{
int
x
[
2
]
;
int
y
[
2
]
;
int
*
p1
=
x;
int
*
p2
=
y; std
::
ptrdiff_t off
=
p1
-
p2;
// undefined behavior,
p1
and
p2
point to different arrays
}
—
end example
]