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


Groups > comp.lang.c > #150213

Re: Const-qualified function return type in C - is it a part of function type?

Path csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c
Subject Re: Const-qualified function return type in C - is it a part of function type?
Date Mon, 24 Feb 2020 21:06:41 -0800
Organization A noiseless patient Spider
Lines 66
Message-ID <867e0bb6hq.fsf@linuxsc.com> (permalink)
References <r2plun$4vl$1@dont-email.me> <45853431-d208-46e0-8945-78a42ed1a83e@googlegroups.com> <r2ps1k$54e$1@dont-email.me> <cN%3G.128006$8Y7.26554@fx05.iad> <r2q8pd$7vj$1@dont-email.me> <8736b2aeib.fsf@bsb.me.uk> <130f8fed-d0ed-4a1c-affb-475c707103d5@googlegroups.com> <87eeum6jup.fsf@bsb.me.uk>
Mime-Version 1.0
Content-Type text/plain; charset=us-ascii
Injection-Info reader02.eternal-september.org; posting-host="736228d0aa4bff80edfe6f310ec1eb3b"; logging-data="18257"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18dhFuCOylCVG95NeUtI4CT/XZ0s33/qFk="
User-Agent Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock sha1:RqHfU2dgNBYiLSiFXEjsQy9p2Dw= sha1:FeoomTM3R1JlXvd4h4c5RSEwOeo=
Xref csiph.com comp.lang.c:150213

Show key headers only | View raw


Ben Bacarisse <ben.usenet@bsb.me.uk> writes:

> luser droog <luser.droog@gmail.com> writes:
>
>> On Saturday, February 22, 2020 at 8:22:18 AM UTC-6, Ben Bacarisse wrote:
>>
>>> Andrey Tarasevich <andreytarasevich@hotmail.com> writes:
>>> <cut>
>>>
>>>> To avoid any further wastage of time on this irrelevant matter I
>>>> hereby postulate one more time:  the above quoted passage refers to
>>>> qualifiers applied to the function type itself (which, BTW, is only
>>>> possible through typedef names).
>>>
>>> And interesting detail, which I can't interpret...  In all versions of
>>> the C standard, there is a footnote attached to the paragraph
>>>
>>>   "If the specification of an array type includes any type qualifiers,
>>>   the element type is so qualified, not the array type.  If the
>>>   specification of a function type includes any type qualifiers, the
>>>   behavior is undefined."
>>>
>>> In C90, this footnote seems to be:
>>>
>>>   59) Both of these can only occur through the use of typedefs.
>>>
>>> By C99 it appears to have become
>>>
>>>   118) Both of these can occur through the use of typedefs.
>>>
>>> Why the change I wonder?  Is there a way to qualify a function or array
>>> type without a typedef?  I can't see one.
>>
>> What about using parens?
>
> I don't think you can.  I tried.

I concur with Ben here.

>> int (const sammy[2]);
>
> I think int (const sammy)[2]; would be closer (were it allowed) because
> parentheses in a declarator are there to stop you reading in the
> "default" direction -- to the right.  Reading what you wrote, you'd say
> "sammy is an array of 2 const int".
>
>> float (volatile davis)(void);
>
> That's the way it would be written, but you can't do that as far as I
> can see.

If we are looking for an extension to supply the capability, how
about this way:

    int sammy const [2];
    float davis volatile (void);

I note with some amusement that C++ made a different choice, for
member functions:

    int x_value() const;

Of course the meaning of "const" here isn't quite the same as
the "const" we are used to, but it does modify the function
type itself:  they are commonly (or officially?) called
"const member functions".

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


Thread

Const-qualified function return type in C - is it a part of function type? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2020-02-21 14:35 -0800
  Const-qualified function return type in C - is it a part of function type? James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-21 15:24 -0800
    Re: Const-qualified function return type in C - is it a part of function type? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2020-02-21 16:19 -0800
      Re: Const-qualified function return type in C - is it a part of function type? Richard Damon <Richard@Damon-Family.org> - 2020-02-21 20:50 -0500
        Re: Const-qualified function return type in C - is it a part of function type? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2020-02-21 19:56 -0800
          Re: Const-qualified function return type in C - is it a part of function type? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-22 14:22 +0000
            Re: Const-qualified function return type in C - is it a part of function type? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-22 10:06 -0800
              Re: Const-qualified function return type in C - is it a part of function type? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-22 21:20 +0000
                Re: Const-qualified function return type in C - is it a part of function type? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-24 20:58 -0800
            Re: Const-qualified function return type in C - is it a part of function type? luser droog <luser.droog@gmail.com> - 2020-02-22 19:24 -0800
              Re: Const-qualified function return type in C - is it a part of function type? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-23 03:52 +0000
                Re: Const-qualified function return type in C - is it a part of function type? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-24 21:06 -0800
      Re: Const-qualified function return type in C - is it a part of function type? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2020-02-21 21:21 -0800
  Re: Const-qualified function return type in C - is it a part of function type? Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-22 07:51 +0100
    Re: Const-qualified function return type in C - is it a part of function type? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2020-02-22 05:00 -0800
      Re: Const-qualified function return type in C - is it a part of function type? Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-22 16:23 +0100
      Re: Const-qualified function return type in C - is it a part of function type? Guillaume <message@bottle.org> - 2020-02-22 20:37 +0100
        Re: Const-qualified function return type in C - is it a part of function type? Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-22 20:50 +0100
          Re: Const-qualified function return type in C - is it a part of function type? David Brown <david.brown@hesbynett.no> - 2020-02-23 07:29 +0100
            Re: Const-qualified function return type in C - is it a part of function type? Bonita Montero <Bonita.Montero@gmail.com> - 2020-02-23 08:57 +0100
  Re: Const-qualified function return type in C - is it a part of function type? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-22 09:53 -0800

csiph-web