Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #127025

Re: C Construction Problem

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: C Construction Problem
Date 2018-02-24 15:05 -0800
Organization None to speak of
Message-ID <lnpo4uj8dq.fsf@kst-u.example.com> (permalink)
References (5 earlier) <kfn7er6wcle.fsf@x-alumni2.alumni.caltech.edu> <ln4lmame6e.fsf@kst-u.example.com> <kfnd10xv7vc.fsf@x-alumni2.alumni.caltech.edu> <lna7w0luz4.fsf@kst-u.example.com> <kfn606mt5gn.fsf@x-alumni2.alumni.caltech.edu>

Show all headers | View raw


Tim Rentsch <txr@alumni.caltech.edu> writes:
> Keith Thompson <kst-u@mib.org> writes:
[...]
>> My own preference is to use the current standard unless there's a good
>> reason not to.  [...]
>
> Do you have some reasoning to offer that might explain this bias?
> Or do you think of it as just axiomatic?

Any attempt to explain my preference would likely lead to a debate that
I'm not interested in having.

[...]

>> So rather than a cast
>>     printf("%p\n", (void*)some_pointer);
>> you'd use a compound literal with exactly the same semantics?
>>     printf("%p\n", (void*){ some_pointer });
>>
>> I've never seen that, and it would never have occurred to me.  After
>> considering it, I'd still use the cast.
>>
>> An advantage of the compound literal is that it relies on the implicit
>> conversion, so it will fail to compile if the expression isn't one that
>> can be implicitly converted to void*.  In my opinion, that's not enough
>> of an advantage to justify it.
>>
>> I agree that casting should almost always be avoided.  Arguments to
>> variadic functions are one of the rare cases where I consider them
>> appropriate.
>
> I'm mystified by your reasoning here.  You point out an advantage
> for using a compound literal.  You don't point out any advantages
> for using a cast.  If we're going to be using C99 or later then
> ISTM that cast choice is all downside with no upside.  Or is what
> you're saying something akin to "we should keep doing things the
> older, riskier way because that's what people are used to"?
> What's the point of switching to a more current standard if you
> carry over all the old bad habits from the earlier standards?

The compound literal form is in my opinion relatively obscure,
and likely to be confusing to many readers.  I rarely use or see
compound literals, and when I do they're usually for aggregate types.
(No doubt that's largely the result of inertia.)  And the need
to compile with a C90 compiler is rare these days, but not yet
entirely nonexistent.

Using a compound literal in this context is an interesting idea,
and one that I hadn't encountered before.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 13:51 +0000
  Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-20 14:42 +0000
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 15:06 +0000
      Re: C Construction Problem Manfred <noname@invalid.add> - 2018-02-20 18:07 +0100
  Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 14:54 +0000
  Re: C Construction Problem "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-20 10:06 -0500
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:11 +0000
  Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-20 15:08 +0000
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:22 +0000
      Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-20 17:03 +0000
        Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-20 09:23 -0800
        Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 11:11 -0700
        Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 18:30 +0000
          Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 23:37 +0000
            Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 00:45 +0000
              Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 01:46 +0000
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-21 08:49 +0100
                Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-21 09:29 +0000
                [OT] Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 11:24 +0000
                Re: [OT] Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 14:41 +0300
                Re: [OT] Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-21 15:10 +0100
                Re: [OT] Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-21 12:36 -0600
                Re: [OT] Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 21:04 +0000
                Re: [OT] Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-21 18:20 -0600
                Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 11:09 +0300
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-21 02:29 -0800
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 11:32 +0000
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:02 -0800
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-27 09:22 +0100
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-27 11:18 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-27 19:51 +0000
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-28 01:54 -0600
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-28 01:43 -0600
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-28 12:54 -0800
                Re: archive decompressor Noob <root@127.0.0.1> - 2018-03-04 12:34 +0100
              Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 11:04 +0300
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 11:27 +0000
                Re: C Construction Problem Anton Shepelev <anton.txt@gmail.com> - 2018-02-28 22:59 +0300
                Re: C Construction Problem supercat@casperkitty.com - 2018-02-21 08:49 -0800
            Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:08 -0800
              Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-26 23:51 +0000
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-27 11:24 -0800
          Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 08:07 -0800
            Re: C Construction Problem fr314159@gmail.com - 2018-02-21 09:16 -0800
              Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 21:26 -0800
            Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-21 09:43 -0800
              Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 22:47 -0800
                Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-22 13:09 +0000
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-24 13:37 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-22 10:50 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-24 13:58 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-24 15:05 -0800
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-25 03:21 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 11:51 +0000
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-25 04:06 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 12:47 +0000
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-25 13:20 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 17:46 +0000
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-25 18:58 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 20:01 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 20:25 +0000
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-26 02:49 -0800
                Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-25 20:02 +0000
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:13 -0800
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-25 11:50 -0600
                Re: C Construction Problem Ian Collins <ian-news@hotmail.com> - 2018-02-26 07:38 +1300
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:15 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 22:02 -0800
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 06:32 -0800
                Re: C Construction Problem GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-27 16:56 +0100
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 08:27 -0800
                Re: C Construction Problem GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-27 18:02 +0100
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 10:23 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 01:09 -0800
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-28 10:37 +0100
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 01:29 -0800
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-03 02:00 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-27 08:46 -0800
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 09:15 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 02:08 -0800
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-03 02:31 -0800
                Re: C Construction Problem Ian Collins <ian-news@hotmail.com> - 2018-03-04 10:34 +1300
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-19 10:27 -0700
                Re: C Construction Problem jameskuyper@verizon.net - 2018-03-03 21:35 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-17 10:29 -0700
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-18 08:14 -0700
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-25 21:49 +0100
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:09 -0800
                Re: C Construction Problem gazelle@shell.xmission.com (Kenny McCormack) - 2018-02-26 13:46 +0000
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-26 14:57 +0100
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 22:14 -0800
            Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-22 00:11 +0000
              Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-21 17:27 -0700
    Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-20 09:30 -0800
      Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-21 00:23 +0000
  Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 09:11 -0700
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:38 +0000
      Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-20 17:07 +0000
      Re: C Construction Problem John Bode <jfbode1029@gmail.com> - 2018-02-20 09:09 -0800
      Re: C Construction Problem "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-20 12:18 -0500
        Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-20 09:38 -0800
      Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 11:08 -0700
      Re: C Construction Problem Gordon Burditt <gordon@hammy.burditt.org> - 2018-02-20 21:47 -0600
        Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-21 09:36 -0800
          Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:21 -0800

csiph-web