Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" Newsgroups: comp.lang.c Subject: Re: "A diagram of C23 basic types" Date: Fri, 4 Apr 2025 03:31:12 -0700 Organization: A noiseless patient Spider Lines: 68 Message-ID: References: <87y0wjaysg.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 04 Apr 2025 12:31:13 +0200 (CEST) Injection-Info: dont-email.me; posting-host="e2c747021cf4b98cdbf0e00a9e01b7cd"; logging-data="3350235"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/xeS1JvMTAeMJ6h13KGKnbJbKoV6xwhVw=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:sy3WjdwDhrnooNwYd3MjRQLbkbI= In-Reply-To: Content-Language: en-US Bytes: 3754 On 4/4/2025 3:28 AM, Muttley@DastardlyHQ.org wrote: > On Fri, 4 Apr 2025 03:25:23 -0700 > "Chris M. Thomasson" wibbled: >> On 4/4/2025 2:43 AM, Muttley@DastardlyHQ.org wrote: >>> On Thu, 3 Apr 2025 16:01:18 -0700 >>> "Chris M. Thomasson" wibbled: >>>> On 4/2/2025 1:09 PM, Chris M. Thomasson wrote: >>>>> On 4/2/2025 8:16 AM, Muttley@DastardlyHQ.org wrote: >>>>>> On Wed, 2 Apr 2025 14:12:18 -0000 (UTC) >>>>>> antispam@fricas.org (Waldek Hebisch) wibbled: >>>>>>> Muttley@dastardlyhq.org wrote: >>>>>>>> On Wed, 2 Apr 2025 10:57:29 +0100 >>>>>>>> bart wibbled: >>>>>>>>> On 02/04/2025 06:59, Alexis wrote: >>>>>>>>>> >>>>>>>>>> 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/ >>>>>>>>>> >>>>>>>>> >>>>>>>>> So much for C being a 'simple' language. >>>>>>>> >>>>>>>> C should be left alone. It does what it needs to do for a systems >>>>>>>> language. >>>>>>>> Almost no use uses it for applications any more and sophisticated >>>>>>>> processing >>>>>>>> using complex types for example are far better done in C++. >>>>>>> >>>>>>> C99 has VMT (variable modified types).  Thanks to VMT and complex types >>>>>>> C99 can naturaly do numeric computing that previously was done using >>>>>>> Fortran 77.  Offical C++ has no VMT.  C++ mechanizms look nicer, >>>>>> >>>>>> Officially no, but I've never come across a C++ compiler that didn't >>>>>> support >>>>>> them given they're all C compilers too. >>>>> >>>>> All C++ compilers are also C compilers? >>>> >>>> To answer my own sarcastic question: No way. :^) >>> >>> So name one that isn't. Fairly simple way to prove your point. >>> >> >> Try to compile this in a C++ compiler: >> _____________ >> #include >> #include >> >> int main() { >> void *p = malloc(sizeof(int)); >> int *ip = p; >> free(p); >> printf("done\n"); >> return 0; >> } >> _____________ >> IIRC, C++ should not allow for that conversion from void* to int* without a cast. Let me try it on an online compiler... Does not compile: https://i.ibb.co/3y5NNWRF/image.png