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


Groups > comp.lang.c > #120683

Re: const and the C type system

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c
Subject Re: const and the C type system
Date 2017-10-02 23:22 +1300
Message-ID <f3eiamFatgtU2@mid.individual.net> (permalink)
References (13 earlier) <fM2AB.1313070$9t6.145932@fx31.am4> <oqrabb$sti$1@dont-email.me> <FfcAB.996969$gM6.817968@fx03.am4> <f3dup8FatgtU1@mid.individual.net> <ikoAB.423210$dT2.3088@fx05.am4>

Show all headers | View raw


On 10/ 2/17 11:14 PM, bartc wrote:
> On 02/10/2017 05:48, Ian Collins wrote:
>> On 10/ 2/17 09:30 AM, bartc wrote:
>>> On 01/10/2017 18:58, David Brown wrote:
>>>> On 01/10/17 11:42, bartc wrote:
>>>
>>>> (Perhaps you have not considered that const objects are not limited to
>>>> simple things like "ints" - they can be structs, arrays, etc. - things
>>>> that you would want to access by address.)
>>>
>>> The purpose of the 'constant' feature was to give a name to values that
>>> are otherwise written as literals in the code and generally manipulated
>>> by value. And what I mainly had in mind was numbers.
>>>
>>> So it won't apply to arrays (not in C), and up until recently, it didn't
>>> apply to structs.
>>>
>>> Structs however can be manipulated by value too (even if behind the
>>> scenes it might be by reference).
>>>
>>> But it seems that structs created as compound literals /can/ have
>>> address-of applied. So maybe constants defined as struct can have it
>>> applied too, or the & is made part of it (I don't know compound literal
>>> syntax):
>>>
>>>      constant S =  (struct S){a,b,c});
>>>      constant T = &(struct S){a,b,c});
>>>
>>> At this point however, there appears to be little advantage in using a
>>> 'constant' for these structs rather than a regular variable. Efforts
>>> would be better directed in making compound literals more readable.
>>
>> Remember my earlier comment about versatility?
>
> And remember mine about it making things more complicated? And the later
> post where I'd implemented my proposal in a very short time?
>
> If it had to do what your constexpr does, it would never have got done.
> So that I lose out on its benefits for the 99% of instances where it
> would have been perfectly sufficient.
>
>> If a struct instance is a const, so are its members.  So in C++ you can
>> have something like this contrivance:
>>
>> struct S
>> {
>>     int a,b;
>> };
>>
>> constexpr struct S s1 {1,2};
>
> C barely has compound literals that can be written without ugly syntax.

The "struct" there was superfluous!

-- 
Ian

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


Thread

const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-28 19:51 -0700
  Re: const and the C type system Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-09-28 21:32 -0600
    Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 05:45 -0700
      Re: const and the C type system bartc <bc@freeuk.com> - 2017-09-29 14:05 +0100
        Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 06:17 -0700
    Re: const and the C type system asetofsymbols@gmail.com - 2017-10-01 22:35 -0700
  Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-09-29 10:59 +0200
    Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 06:06 -0700
      Re: const and the C type system bartc <bc@freeuk.com> - 2017-09-29 14:24 +0100
        Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 06:52 -0700
          Re: const and the C type system jameskuyper@verizon.net - 2017-09-29 09:17 -0700
            Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 10:50 -0700
              Re: const and the C type system jameskuyper@verizon.net - 2017-09-29 11:06 -0700
                Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 11:27 -0700
          Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-30 13:13 -0700
            Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-30 13:31 -0700
        Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-09-29 09:10 -0700
          Re: const and the C type system bartc <bc@freeuk.com> - 2017-09-29 18:33 +0100
          Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 11:10 -0700
        Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-09-30 08:29 +1300
        Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-09-30 18:48 +0200
          Re: const and the C type system bartc <bc@freeuk.com> - 2017-09-30 18:44 +0100
            Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-10-01 09:12 +1300
              Re: const and the C type system bartc <bc@freeuk.com> - 2017-09-30 21:50 +0100
                Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-10-01 10:10 +1300
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-09-30 23:17 +0100
                Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-10-01 11:38 +1300
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 00:44 +0100
                Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-10-01 14:33 +1300
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 10:42 +0100
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 19:58 +0200
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 21:30 +0100
                Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-10-02 17:48 +1300
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-02 11:14 +0100
                Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-10-02 23:22 +1300
                Re: const and the C type system Richard Damon <Richard@Damon-Family.org> - 2017-10-01 13:58 -0400
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 18:20 +0200
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 18:41 +0100
                Re: const and the C type system supercat@casperkitty.com - 2017-10-01 12:03 -0700
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 23:05 +0200
                Re: const and the C type system supercat@casperkitty.com - 2017-10-01 15:58 -0700
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-02 09:56 +0200
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-02 00:24 +0100
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-02 12:20 +0200
                Re: const and the C type system Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-10-02 06:03 -0700
                Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-10-02 06:34 -0700
                Re: const and the C type system supercat@casperkitty.com - 2017-10-02 23:38 -0700
                Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-10-01 13:03 -0700
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 23:12 +0200
                Re: const and the C type system supercat@casperkitty.com - 2017-10-01 11:12 -0700
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 13:48 +0200
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 14:13 +0100
                Re: const and the C type system supercat <flatfinger@casperkitty.com> - 2017-10-01 10:32 -0700
              Re: const and the C type system supercat@casperkitty.com - 2017-09-30 13:52 -0700
            Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-09-30 13:35 -0700
              Re: const and the C type system bartc <bc@freeuk.com> - 2017-09-30 21:58 +0100
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 12:03 +0100
              Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-30 14:00 -0700
                Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-09-30 15:33 -0700
                Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-10-01 12:45 -0700
            Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 13:13 +0200
              Re: const and the C type system Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-10-01 05:22 -0700
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 20:06 +0200
                Re: const and the C type system supercat@casperkitty.com - 2017-10-01 12:16 -0700
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 21:01 +0100
                Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-10-01 13:21 -0700
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 21:50 +0100
                Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-10-02 05:35 -0700
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-02 14:01 +0100
                Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-10-02 06:29 -0700
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-02 15:19 +0100
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 23:19 +0200
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 22:33 +0100
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-02 00:10 +0200
              Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 14:13 +0100
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-01 22:46 +0200
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 21:57 +0100
                Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-10-01 14:09 -0700
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-01 23:54 +0100
                Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-10-01 19:12 -0700
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-02 11:36 +0100
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-02 12:45 +0200
                Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-10-02 09:40 -0700
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-02 19:33 +0100
                Re: const and the C type system scott@slp53.sl.home (Scott Lurndal) - 2017-10-02 19:09 +0000
                Re: const and the C type system Ian Collins <ian-news@hotmail.com> - 2017-10-03 08:12 +1300
                Re: const and the C type system bartc <bc@freeuk.com> - 2017-10-02 20:30 +0100
                Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-10-02 12:37 -0700
                Re: const and the C type system jadill33@gmail.com - 2017-10-02 12:49 -0700
                Re: const and the C type system Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-10-06 20:47 +0000
                Re: const and the C type system Keith Thompson <kst-u@mib.org> - 2017-10-06 15:41 -0700
                Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-10-02 12:42 +0200
              Re: const and the C type system Gareth Owen <gwowen@gmail.com> - 2017-10-01 21:18 +0100
          Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-30 12:22 -0700
      Re: const and the C type system David Brown <david.brown@hesbynett.no> - 2017-09-30 18:44 +0200
    Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 07:01 -0700
      Re: const and the C type system Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-29 20:18 +0100
        Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-09-29 12:40 -0700
          Re: const and the C type system Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-29 21:28 +0100
  Re: const and the C type system fir <profesor.fir@gmail.com> - 2017-09-29 08:21 -0700
    Re: const and the C type system fir <profesor.fir@gmail.com> - 2017-09-29 08:38 -0700
  Re: const and the C type system John Bode <jfbode1029@gmail.com> - 2017-10-02 09:20 -0700
    Re: const and the C type system Thiago Adams <thiago.adams@gmail.com> - 2017-10-02 09:53 -0700
    Re: const and the C type system Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-10-09 13:27 +0000

csiph-web