Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <877cdyuq0f.fsf@bsb.me.uk>
Deutsch   English   Français   Italiano  
<877cdyuq0f.fsf@bsb.me.uk>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Ben Bacarisse <ben@bsb.me.uk>
Newsgroups: comp.lang.c
Subject: Re: question about nullptr
Date: Sat, 06 Jul 2024 23:14:40 +0100
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <877cdyuq0f.fsf@bsb.me.uk>
References: <v6bavg$3pu5i$1@dont-email.me> <20240706054641.175@kylheku.com>
	<v6bfi1$3qn4u$1@dont-email.me> <l9ciO.7$cr5e.2@fx05.iad>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Sun, 07 Jul 2024 00:14:40 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="213b794f72069ae5495c2f80bfa9f0a2";
	logging-data="4177794"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/4LAnj5ySZE+rOdv07EkmYeAE79S8xe54="
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:hl35Ly73Bw1kSJ4BE3MAWD5Mn+8=
	sha1:GqTLW/jkzsPmhjPhRvAiehOm260=
X-BSB-Auth: 1.7e2454d7d0e119041d86.20240706231440BST.877cdyuq0f.fsf@bsb.me.uk
Bytes: 2748

scott@slp53.sl.home (Scott Lurndal) writes:

> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>>On 06.07.2024 14:54, Kaz Kylheku wrote:
>>> On 2024-07-06, Thiago Adams <thiago.adams@gmail.com> 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

  void *ptr = 0;
  if (ptr == 0) ...

being true and also

  memcmp(&ptr,
         &(union { unsigned int u; void *p; }){ .u=0xc0eeeeee }.p,
         sizeof ptr) == 0

being true.

> [*] now obsolete.

-- 
Ben.