A null pointer constant can be
converted to a pointer type; the
result is the null pointer value of that type (
[basic.compound]) and is
distinguishable from every other value of
object pointer or function pointer
type
.The conversion of a null pointer constant to a pointer to
cv-qualified type is a single conversion, and not the sequence of a
pointer conversion followed by a qualification
conversion (
[conv.qual])
.A null pointer constant of integral type
can be converted to a prvalue of type 
std::nullptr_t.[
Note 1: 
The resulting prvalue is not a null pointer value
. — 
end note]