[C++ patch] accept __null as sentinel

Michael Matz matz@suse.de
Mon May 2 05:13:00 GMT 2005


Hi,

On Sat, 30 Apr 2005, Gabriel Dos Reis wrote:

> | > I also thought that stylistically C++ programmers would generally be
> | > more careful about including casts and would expect to need them here.
> | 
> | You couldn't be more wrong I fear.  The casual C++ programmer (and for
> | that matter C programmer) knows absolutely nothing about the difference of
> | a null pointer constant and a null pointer.  And even less of them know
> | that NULL in C++ is only a null pointer constant.
> 
> The issue is so that it triggered an extension (for C++0x) to consider
> nullptr 
> 
>    http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1488.pdf
> 
> At least that gives an idea about what (some) C++ programmers think
> the null pointer is written.

Interesting.  I like it.  I've a comment about on thing in it:
  We must investigate whether NULL is used so frequently as a varadic 
  argument that we should consider defining a representation for nullptr 
  to allow such use.

My comment would be, that it's _very_ common for some classes of 
interface.  Marcus mentioned some of the libraries which expose at least 
some functions with a variadic argument list consisting of pointers (often 
e.g. name-value pairs, where the last one is marked by a NULL "name").  At 
the same time I believe it would be enough, if the bit representation of 
such use of 'nullptr' would be that of a (void*)0.


Ciao,
Michael.



More information about the Gcc-patches mailing list