Am Mi., 7. Dez. 2022 um 12:21 Uhr schrieb Vladimir Grigoriev via
Std-Discussion <
std-discussion@lists.isocpp.org>:
>
> 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