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.