| Deutsch English Français Italiano |
|
<8634eebq5w.fsf@linuxsc.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch <tr.17687@z991.linuxsc.com> Newsgroups: comp.lang.c Subject: Re: "A diagram of C23 basic types" Date: Fri, 11 Apr 2025 09:48:11 -0700 Organization: A noiseless patient Spider Lines: 27 Message-ID: <8634eebq5w.fsf@linuxsc.com> References: <87y0wjaysg.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Fri, 11 Apr 2025 18:48:18 +0200 (CEST) Injection-Info: dont-email.me; posting-host="71ab0539a1cf710e3caa6c34edacc1d7"; logging-data="2122660"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18G6/lDuZ4AZQRuUQBkgDF1pZOIImArIpo=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:qi2zluTZWx98NF8/zdypCCSFkT0= sha1:pztKCntCyvWNqO3KvavEp/PjCxY= Bytes: 2296 Alexis <flexibeast@gmail.com> writes: > Thought people here might be interested in this image on Jens Gustedt's > blog, which translates section 6.2.5, "Types", of the C23 standard > into a graph of inclusions: > > https://gustedt.wordpress.com/2025/03/29/a-diagram-of-c23-basic-types/ By the way, regarding the question of why types like size_t are not in the diagram, there is a simple explanation. All the types shown in the diagram are guaranteed to be distinct.[*] Types like size_t, ptrdiff_t, and so forth, are not new types, but simply different names for a type already represented in the diagram. [*] This statement assumes that a bit-precise type whose width matches one of the standard integer types is still a distinct type. I don't know if C23 actually follows that rule. Editorial comment: my understanding is that there is an asymmetry regarding the bit-precise types, in that there is an unsigned bit-precise type of width 1, but not a signed bit-precise type of width 1. Assuming that is so, IMO it is a galactically stupid omission: a signed bit-precise integer of width 1 would very naturally hold the two values 0 and -1, which is a useful type to have in some circumstances, and symmetry would be preserved. Someone didn't have their Wheaties that morning when that decision was made.