C++ Logo

std-discussion

Advanced search

Re: Ambiguities of the C++ Standard definitions.

From: Julien Villemure-Fréchette <julien.villemure_at_[hidden]>
Date: Wed, 07 Dec 2022 14:45:20 -0500
I think natural language semantics and interpretation are covered in another ISO standard which iso cpp defers to. See
the section "2 Normative references" [intro.refs].
Probably explained in ISO/IEC 2382 - Information Technology - Vocabulary

Julien V



-------- Original Message --------
From: Vladimir Grigoriev via Std-Discussion <std-discussion_at_[hidden]>
Sent: December 7, 2022 11:59:53 a.m. EST
To: "Daniel Krügler" <daniel.kruegler_at_[hidden]>
Cc: Vladimir Grigoriev <vlad.moscow_at_[hidden]>, std-discussion_at_[hidden]
Subject: Re: [std-discussion] Ambiguities of the C++ Standard definitions.


Well, consider another phrase from the C++ Standard
 
«2 In a function-definition, either void declarator ; or declarator ; shall be a well-formed function declaration ...»
 
What is the « void declarator »? I have not found the definition of this term. It seems these word combination is encountered only once in the C++ Standard.
 
With best regards
(Vlad from Moscow)
 
 
You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com
 
  
>Среда, 7 декабря 2022, 14:53 +03:00 от Daniel Krügler <daniel.kruegler_at_[hidden]>:
>
>Am Mi., 7. Dez. 2022 um 12:21 Uhr schrieb Vladimir Grigoriev via
>Std-Discussion < std-discussion_at_[hidden] >:
>>
>> The main problem of the C+ Standard is that some definitions can be interpreted in differenct ways.
>
>Is that really a specific problem of the C++ standard or just a
>problem of every natural language?
>
>> Consider for example the following quote from the C++ Standard
>>
>> 1 A trivially copyable class is a class: (1.1) — that has at least one eligible copy constructor, move constructor, copy assignment operator, or move assignment operator
>>
>> The phrase can be interpreted for example like
>>
>> 1 A trivially copyable class is a class: (1.1) — that has at least one eligible copy constructor, or one eligible move constructor, or one eligible copy assignment operator, or one eligible move assignment operator
>>
>> or like
>>
>> 1 A trivially copyable class is a class: (1.1) — that has at least one eligible copy constructor, and at least one eligible move constructor, and at least one eligible copy assignment operator, or move assignment operator
>>
>> As you can see the definition can be interpreted differently.
>>
>> How should the definition be interpreted?
>
>My understanding of the Oxford comma rules
>( https://en.wikipedia.org/wiki/Serial_comma ) is that in such a list
>each item is combined with the "or"/"and" at the very last end to
>signal the combination operator between the individual items, which
>would correspond to your first interpretation.
>
>Thanks,
>
>- Daniel
 
-- Julien Villemure
Sent from my Android device with K-9 Mail.

Received on 2022-12-07 19:45:28