An alternative could be to specify that objects of zero size do not have an object representation. I have suggested this before, however, people didn't seem that it was a good idea.



Sent from my Samsung Galaxy smartphone.

-------- Original message --------
From: Language Lawyer via Std-Proposals <std-proposals@lists.isocpp.org>
Date: 8/17/19 16:39 (GMT-05:00)
To: std-proposals@lists.isocpp.org
Cc: Language Lawyer <language.lawyer@gmail.com>
Subject: Re: [std-proposals] Allowing access to object representations

On 17/08/2019 23:02, sdkrystian via Std-Proposals wrote:
>  > But where the object representation of a zero size base class subobject of `o` will appear?
> You seem to guarantee that it, despite having zero size, still has sizeof(T) ≠ 0 elements.
>
> It won't appear in the enclosing object (the wording only guarantees so for objects of nonzero size); specifying so would just be extraneous wording.

A zero size base class subobject with nonzero elements in its object representation which do not "appear" in its enclosing object's representation sounds weird.
--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals