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


Groups > comp.lang.c++ > #91163 > unrolled thread

Re: Is this safe?

Started byTim Rentsch <tr.17687@z991.linuxsc.com>
First post2023-07-20 09:22 -0700
Last post2023-08-08 05:46 -0700
Articles 3 — 2 participants

Back to article view | Back to comp.lang.c++

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Is this safe? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2023-07-20 09:22 -0700
    Re: Is this safe? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2023-07-20 16:42 -0700
      Re: Is this safe? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2023-08-08 05:46 -0700

#91163 — Re: Is this safe?

FromTim Rentsch <tr.17687@z991.linuxsc.com>
Date2023-07-20 09:22 -0700
SubjectRe: Is this safe?
Message-ID<86wmyuzh71.fsf@linuxsc.com>
Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:

> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>
>> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>>
>>> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>>>
>>>> Andrey Tarasevich <andreytarasevich@hotmail.com> writes:
>>>>
>>>>> On 02/21/23 6:12 AM, Alf P. Steinbach wrote:
>>>>>
>>>>>> Not what you're asking, but the common convention in C++ is to
>>>>>> separate the type specification from the variable, i.e. `auto& c`
>>>>>> not `auto &c`.
>>>>>>
>>>>>> But on the third and gripping hand, in this case I'd write `char&
>>>>>> c`, since there's no advantage in `auto` here and it obscures
>>>>>> things.
>>>>>
>>>>> Not really.  This is a misleading "convention" that has no reason to
>>>>> exist.  In this case the `&` is a part of an individual declarator,
>>>>> not a part of decl-specifier-seq.  There's no reason to group the
>>>>> syntactic elements differently.  It achieves nothing.
>>>>
>>>> I would say it achieves less than nothing, because it's misleading.
>>>> It's like writing a+b * c ;  the grouping suggested by the spacing
>>>> doesn't match the actual precedence.  In almost all cases it's a
>>>> mistake to use "contra-syntactic" spacing, and attaching '&' or '*'
>>>> to a type specifier is definitely one of those mistakes.
>>>
>>> I prefer the "int *foo;" spacing (conventional in C) because it follows
>>> the syntax, but the "int* foo;" spacing has become a convention in C++
>>> (probably because Stroustrup uses it in his books), and I use it in C++
>>> for that reason.  I also avoid declarations where it would make a
>>> difference to a human reader, like "int* foo, bar;".
>>>
>>> Most development is on existing code.  It would be poor practice to use
>>> the "better" spacing on new code while leaving the existing code (which
>>> most likely uses the C++ conventional spacing) as it is.  It would also
>>> be poor practice to change all the spacing in a large body of existing
>>> code.
>>
>> I'm sure there are lots of people who agree with that opinion,
>> but that doesn't make it anything more than just an opinion.
>
> Obviously.
>
> Did you have anything *useful* to add?

As a rule I don't like to participate in discussions of programming
style that are purely subjective.

I object to assertions that are solely statements of opinion being
made as though they were something more than that.

When you have something to say that is more than simply statements
of personal opinion, then I expect I might have something useful
to say about it.

[toc] | [next] | [standalone]


#91172

FromKeith Thompson <Keith.S.Thompson+u@gmail.com>
Date2023-07-20 16:42 -0700
Message-ID<87lefaqhez.fsf@nosuchdomain.example.com>
In reply to#91163
Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>>> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>>>> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>>>>> Andrey Tarasevich <andreytarasevich@hotmail.com> writes:
>>>>>> On 02/21/23 6:12 AM, Alf P. Steinbach wrote:
>>>>>>> Not what you're asking, but the common convention in C++ is to
>>>>>>> separate the type specification from the variable, i.e. `auto& c`
>>>>>>> not `auto &c`.
>>>>>>>
>>>>>>> But on the third and gripping hand, in this case I'd write `char&
>>>>>>> c`, since there's no advantage in `auto` here and it obscures
>>>>>>> things.
>>>>>>
>>>>>> Not really.  This is a misleading "convention" that has no reason to
>>>>>> exist.  In this case the `&` is a part of an individual declarator,
>>>>>> not a part of decl-specifier-seq.  There's no reason to group the
>>>>>> syntactic elements differently.  It achieves nothing.
>>>>>
>>>>> I would say it achieves less than nothing, because it's misleading.
>>>>> It's like writing a+b * c ;  the grouping suggested by the spacing
>>>>> doesn't match the actual precedence.  In almost all cases it's a
>>>>> mistake to use "contra-syntactic" spacing, and attaching '&' or '*'
>>>>> to a type specifier is definitely one of those mistakes.
>>>>
>>>> I prefer the "int *foo;" spacing (conventional in C) because it follows
>>>> the syntax, but the "int* foo;" spacing has become a convention in C++
>>>> (probably because Stroustrup uses it in his books), and I use it in C++
>>>> for that reason.  I also avoid declarations where it would make a
>>>> difference to a human reader, like "int* foo, bar;".
>>>>
>>>> Most development is on existing code.  It would be poor practice to use
>>>> the "better" spacing on new code while leaving the existing code (which
>>>> most likely uses the C++ conventional spacing) as it is.  It would also
>>>> be poor practice to change all the spacing in a large body of existing
>>>> code.
>>>
>>> I'm sure there are lots of people who agree with that opinion,
>>> but that doesn't make it anything more than just an opinion.
>>
>> Obviously.
>>
>> Did you have anything *useful* to add?
>
> As a rule I don't like to participate in discussions of programming
> style that are purely subjective.

Then by all means don't.

> I object to assertions that are solely statements of opinion being
> made as though they were something more than that.

I don't believe I did that.  What I wrote (several months ago)
was partly my opinion, partly what I believe to be facts.  I did
not intend to present it as anything else.  (And I don't think what
I wrote was particularly controversial.)

> When you have something to say that is more than simply statements
> of personal opinion, then I expect I might have something useful
> to say about it.

If you have nothing useful to say, as appears to be the case here, I
suggest saying nothing.

Should I configure my newsreader to add an "X-In-My-Opinion:"
header to everything I post?  (To be clear, I will not do so.)

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Will write code for food.
void Void(void) { Void(); } /* The recursive call of the void */

[toc] | [prev] | [next] | [standalone]


#91212

FromTim Rentsch <tr.17687@z991.linuxsc.com>
Date2023-08-08 05:46 -0700
Message-ID<86ttt9bt1x.fsf@linuxsc.com>
In reply to#91172
Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:

> If you have nothing useful to say, as appears to be the case
> here, I suggest saying nothing.

I follow my own judgment as to whether what I say is
relevant or useful.  I expect you do likewise.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.c++


csiph-web