Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #81666
| From | Keith Thompson <Keith.S.Thompson+u@gmail.com> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: NULL versus 0 |
| Date | 2021-09-28 20:34 -0700 |
| Organization | None to speak of |
| Message-ID | <87y27ghx5w.fsf@nosuchdomain.example.com> (permalink) |
| References | (3 earlier) <aAV3J.57544$2Q_3.32321@fx35.iad> <87a6jzlmu6.fsf@nosuchdomain.example.com> <tcX3J.71792$VZ1.29839@fx08.iad> <871r5bkn9d.fsf@nosuchdomain.example.com> <MbQ4J.17929$d82.7537@fx21.iad> |
Branimir Maksimovic <branimir.maksimovic@gmail.com> writes:
> On 2021-09-26, Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:
>> Branimir Maksimovic <branimir.maksimovic@gmail.com> writes:
>>> On 2021-09-26, Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:
>>>>> #define NULL (void*)0
>>>>> simple, problem is that in C++, one have to cast from void
>>>>> and that does not works, and this is BuG in C++.
>>>>
>>>> That's not a valid definition of NULL in either C or C++.
>>>>
>>>> In C or C++, the definition has to be parenthesized to avoid parsing
>>>> errors in some contexts;
>>>>
>>>> #define NULL ((void*0)
>>>>
>>>> I'm not sure what you mean by "this is BuG in C++". A C++
>>>> implementation that defined NULL that way would be non-conforming.
>>>>
>>> Exactly, that is why it is Bug.
>>> Thanks for correction, BTW.
>>
>> To be clear, you're saying that if any C++ implementation actually
>> defined NULL that way, it would be a bug in that implementation.
>> That's true, but I'm not aware of any implementation that actually
>> has that hypothetical bug. It can require some trivial extra work
>> for an implementation that shares headers between C and C++, but
>> implementers are well aware of the issue.
>>
> We have problem off overoading resolution then with constant zero.
> Still, despite nullptr. You can accidentally mean 0 the integer
> and have overload with pointer argument, and hav COMPILER BUG.
> This should be corrected in future standard...
I don't know what "COMPILER BUG" you're talking about.
Using 0 as a null pointer constant in the presence of overloaded
functions can lead to a *programming* bug. I'm not aware of any C++
compiler that has a bug in this area (i.e., handles it in a way that's
inconsistent with what the language requires).
That kind of programming bug can be avoided by using nullptr rather than
0 (something that wasn't possible before C++11).
If you're suggesting changing the language so that 0 is no longer a null
pointer constant, that would break tons of existing code.
Programming bugs, compiler bugs, and language bugs are three very
different things.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips
void Void(void) { Void(); } /* The recursive call of the void */
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
NULL versus 0 "das...@gmail.com" <dashley@gmail.com> - 2021-09-25 11:03 -0700
Re: NULL versus 0 Branimir Maksimovic <branimir.maksimovic@gmail.com> - 2021-09-25 18:16 +0000
Re: NULL versus 0 Paavo Helde <myfirstname@osa.pri.ee> - 2021-09-25 21:20 +0300
Re: NULL versus 0 Paavo Helde <myfirstname@osa.pri.ee> - 2021-09-25 21:32 +0300
Re: NULL versus 0 "das...@gmail.com" <dashley@gmail.com> - 2021-09-25 12:08 -0700
Re: NULL versus 0 Juha Nieminen <nospam@thanks.invalid> - 2021-09-27 05:47 +0000
Re: NULL versus 0 Bo Persson <bo@bo-persson.se> - 2021-09-27 08:32 +0200
Re: NULL versus 0 "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-09-26 23:37 -0700
Re: NULL versus 0 "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2021-09-27 10:32 +0200
Re: NULL versus 0 Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-27 11:32 -0700
Re: NULL versus 0 James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-09-27 15:03 -0400
Re: NULL versus 0 "see.my....@gmail.com" <see.my.homepage@gmail.com> - 2021-09-25 13:05 -0700
Re: NULL versus 0 Jorgen Grahn <grahn+nntp@snipabacken.se> - 2021-09-26 06:58 +0000
Re: NULL versus 0 Branimir Maksimovic <branimir.maksimovic@gmail.com> - 2021-09-26 07:47 +0000
Re: NULL versus 0 Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-26 02:15 -0700
Re: NULL versus 0 Branimir Maksimovic <branimir.maksimovic@gmail.com> - 2021-09-26 09:38 +0000
Re: NULL versus 0 Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-26 15:03 -0700
Re: NULL versus 0 Branimir Maksimovic <branimir.maksimovic@gmail.com> - 2021-09-29 02:29 +0000
Re: NULL versus 0 Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-28 20:34 -0700
Re: NULL versus 0 David Brown <david.brown@hesbynett.no> - 2021-09-29 08:52 +0200
Re: NULL versus 0 Bo Persson <bo@bo-persson.se> - 2021-09-26 13:54 +0200
Re: NULL versus 0 Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-26 15:17 -0700
Re: NULL versus 0 Branimir Maksimovic <branimir.maksimovic@gmail.com> - 2021-09-29 02:26 +0000
Re: NULL versus 0 Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-26 02:17 -0700
Re: NULL versus 0 HorseyWorsey@the_stables.com - 2021-09-26 14:20 +0000
Re: NULL versus 0 James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-09-25 17:36 -0400
Re: NULL versus 0 "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-09-26 23:05 -0700
csiph-web