Why do private member variables behaved like protected in the same module when creating deriving class?

Patrick Schluter Patrick.Schluter at bbox.fr
Thu Nov 1 21:08:20 UTC 2018


On Thursday, 1 November 2018 at 21:00:21 UTC, Steven 
Schveighoffer wrote:
> On 11/1/18 4:47 PM, Patrick Schluter wrote:
>> On Thursday, 1 November 2018 at 19:26:05 UTC, Steven 
>> Schveighoffer wrote:
>>>[...]
>> Compiled with -m64 ? On a 32 bit machine it makes indeed no 
>> difference as the effective calculated address is in any case 
>> modulo 2^32-1
>> (a + 2^32-1) % 2^32 == a-1
>> 
>
> amd64 system (Intel Mac)
>
> I wouldn't be surprised if on other architectures, you get a 
> bus error.
>
the optimizer removed all the array code, in your example and 
only kept the printf with precalculated constants. In gcc and in 
clang.



More information about the Digitalmars-d mailing list