Path: csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.lang.c
Subject: Re: question about nullptr
Date: Sat, 06 Jul 2024 20:10:50 -0700
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <86ed85c2x1.fsf@linuxsc.com>
References: <20240706054641.175@kylheku.com> <877cdyuq0f.fsf@bsb.me.uk> <2ckiO.19403$7Ej.4487@fx46.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Sun, 07 Jul 2024 05:10:51 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="940a3321ebe7e91666808b6f59645346"; logging-data="199703"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Ts01k4A4YUfiIUdYbuj6eM2QsyJZ7x0E="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:Fv79cg51BaXblaNhQii0AmOz6a0= sha1:bVkalm+/FPqPFrrsHU2Tjn3c7bg=
Xref: csiph.com comp.lang.c:386847
scott@slp53.sl.home (Scott Lurndal) writes:
> Ben Bacarisse writes:
>
>> scott@slp53.sl.home (Scott Lurndal) writes:
>>
>>> Janis Papanagnou writes:
>>>
>>>> On 06.07.2024 14:54, Kaz Kylheku wrote:
>>>>
>>>>> On 2024-07-06, Thiago Adams wrote:
>>>>>
>>>>>> If you were creating C code today and could use a C23 compiler, would
>>>>>> you use nullptr instead of NULL?
>>>>>
>>>>> In greenfield projects under my dictatorship, I use 0, as in:
>>>>>
>>>>> char *p = 0;
>>>>>
>>>>> I was still 20 something when I (easily) wrapped my head around the 0
>>>>> null pointer constant, and have not had any problems with it.
>>>>> Once I learned the standard-defined truth about null pointer constants,
>>>>> and their relationship to the NULL macro, I dropped NULL like a hot
>>>>> potato, and didn't look back (except when working in code bases that use
>>>>> NULL).
>>>>
>>>> We also used 0 as "universal" pointer value regularly without
>>>> problems.
>>
>> I also like to use 0, but I'm not sure I could say exactly why. Maybe
>> because of pre-C exposure (B and BCPL).
>>
>>> Whereas I spent 6 years programming on an architecture[*] where a
>>> null pointer was represented in hardware by the value 0xc0eeeeee. I always
>>> use the NULL macro in both C and C++ code.
>>
>> I'm sure you know (but maybe some other readers might not) that that
>> does not stop one using 0 in C source code. Whatever a null pointer
>> "really" is on some hardware, 0 must work in C, including in comparisons
>> with == and !=. You can have
>
> Yes. However, I consider that ambiguous, [...]
You consider something that is not ambiguous to be ambiguous? You must
mean something different by the word ambiguous than I do.