getting rid of immutable (or const)

Daniel Kozak kozzi11 at gmail.com
Thu Sep 5 08:16:08 UTC 2019


On Thu, Sep 5, 2019 at 9:55 AM berni via Digitalmars-d-learn
<digitalmars-d-learn at puremagic.com> wrote:
>
> I still struggle with the concept of immutable and const:
>
> > import std.stdio;
> >
> > void main()
> > {
> >     auto p = Point(3);
> >     auto q = p.x;
> >     writeln(typeof(q).stringof);
> > }
> >
> > struct Point
> > {
> >     @property immutable long x;
> > }
>
> The type of q is immutable(long). But I need a mutable q. I found
> two ways:
>
> a) long q = p.x;
> b) auto q = cast(long)p.x;
>
> Either way I've to specify the type "long" which I dislike (here
> it's not a real burdon, but with more complicated types it might
> be). Is there a way, to make q mutable without having to write
> the type explicitly?

in this case you can just use:

auto q = cast()p.x;


More information about the Digitalmars-d-learn mailing list