How to create an overwriteable struct that is always const?
David Zhang
straivers98 at gmail.com
Sun Jun 2 02:23:58 UTC 2019
On Saturday, 1 June 2019 at 16:30:12 UTC, Jonathan M Davis wrote:
> If any member variable of a struct is const, then you can't
> modify that member ever, and assignment isn't possible unless
> you override opAssign so that it overwrites only the mutable
> members. It's very rare that it makes sense to make any member
> variables of a struct const or immutable, because then you
> basically can't use assignment anymore.
>
> You could make all of the member variables private and provide
> no functions that set any of them, then the only way to change
> any of their values would be to construct a new value of that
> type and assign it to the variable.
>
> - Jonathan M Davis
Ideally, I'd like for member functions to be checked against
modifying s also, not just externally.
More information about the Digitalmars-d-learn
mailing list