Having had this conversation in C before, I'm going to presume he means not the literal null pointer but the clause in [expr.add] ¶4.1 that explicits exempts it from undefined behavior when used on any pointer whose value is the null pointer with 0:
When an expression J that has integral type
is added to or subtracted from an expression P of pointer type,
the result has the type of P:
— If P evaluates to a null pointer value and
J evaluates to 0, the result is a null pointer value.
…
This is indeed different from C, where there is no carve out for this case in particular.
Sincerely,
JeanHeyd