Sujet : Re: question about nullptr
De : ldo (at) *nospam* nz.invalid (Lawrence D'Oliveiro)
Groupes : comp.lang.cDate : 07. Jul 2024, 05:55:14
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6d73i$6r8h$3@dont-email.me>
References : 1 2 3
User-Agent : Pan/0.158 (Avdiivka; )
On Sat, 6 Jul 2024 14:51:19 +0100, bart wrote:
Using actual zero for a pointer value is crass. This wouldn't work for
example:
char *p = 3;
But of course this does:
char *p = 0;
From the C23 spec, I found this footnote in §6.6:
A named constant or compound literal constant of integer type and
value zero is a null pointer constant. A named constant or
compound literal constant with a pointer type and a value null is
a null pointer but not a null pointer constant; it may only be
used to initialize a pointer object if its type implicitly
converts to the target type.
That first sentence is so important, you’d think it would be in the main
text somewhere.