Logical const

Steven Schveighoffer schveiguy at yahoo.com
Tue Nov 30 12:25:38 PST 2010


On Tue, 30 Nov 2010 15:16:04 -0500, Walter Bright  
<newshound2 at digitalmars.com> wrote:

> Steven Schveighoffer wrote:
>> The example that I gave does not seem to you like it would surprise  
>> someone?  I passed in a const object and it got modified, even though  
>> no casts were used.
>
> No, it doesn't surprise me. Const on one object does not apply to  
> another object.

So this:

void myfn(const(C) n)
{
    assert(n.x == 1);
    n.foo();
    assert(n.x == 5);
}

Wouldn't be surprising to you?

-Steve


More information about the Digitalmars-d mailing list