Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #81666
| Path | csiph.com!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Keith Thompson <Keith.S.Thompson+u@gmail.com> |
| Newsgroups | comp.lang.c++ |
| Subject | Re: NULL versus 0 |
| Date | Tue, 28 Sep 2021 20:34:51 -0700 |
| Organization | None to speak of |
| Lines | 53 |
| Message-ID | <87y27ghx5w.fsf@nosuchdomain.example.com> (permalink) |
| References | <21138a34-469b-4c7a-9ef1-e9307ba52673n@googlegroups.com> <c52e136c-17bb-4eb4-8407-891571d9ef92n@googlegroups.com> <slrnsl06g7.5o3.grahn+nntp@frailea.sa.invalid> <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> |
| Mime-Version | 1.0 |
| Content-Type | text/plain |
| Injection-Info | reader02.eternal-september.org; posting-host="ba0e60f6a677493b028430137d39454d"; logging-data="31403"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1++iA3yTlyhK7iI+Fm/fCvV" |
| User-Agent | Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
| Cancel-Lock | sha1:BcA3a122Aj2LcNWn7/qn6a0cpMw= sha1:zYSzKKbXpWYV+4REKbTd3fO1ANc= |
| Xref | csiph.com comp.lang.c++:81666 |
Show key headers only | View raw
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