getting rid of immutable (or const)

berni someone at somewhere.com
Fri Sep 6 09:17:52 UTC 2019


On Thursday, 5 September 2019 at 21:22:12 UTC, Ali Çehreli wrote:
> If it makes for the type to have immutable (or const) members, 
> then fine; with the understanding that objects of that type 
> cannot be assigned or mutated any other way, we can define them 
> like that. What I meant is, because we want to use such a type 
> in an AA and we don't want the element to change should not 
> dictate the type's members. Using in an AA should be yet 
> another usage of the type.

Got it. ;-)

> > if immutable were that useless, why would it exist
> > at all?
>
> immutable is useful: You can have immutable objects, immutable 
> AAs (different from what we are discussing here), etc.

So, what I'm just trying all the time is not to have a struct 
with immutable elements but a immutable struct-object with 
mutable elements. I think, that's what I confused all the time.

> As a general rule, I never make members const or immutable; 
> this is a guideline that I carried over from C++.

I have almost no experience with C++, but I just accept that as a 
good advise. After all that discussion here, it seems to be sound.

Thank you very much too! I think I made a big jump forward in 
understanding the concept of immutability in the last 24 hours. 
:-)


More information about the Digitalmars-d-learn mailing list