Immutable fields

Gareth Charnock gareth.charnock at gmail.com
Tue Nov 2 19:20:36 PDT 2010


On 03/11/10 00:54, bearophile wrote:
> Is it correct for immutable struct fields to act like enum or static const fields? (I don't think so, but I am wrong often):
>
> struct Foo {
>      immutable int x = 1;
> }
> static assert(Foo.sizeof == 4);
> void main() {}
>
>
> More info in the D.learn thread:
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.learn&article_id=22540
>
> Thank you,
> bearophile

If it helps, the analogy I always use when explaining immutable is the 
stone tablet. A running program can chip out a message on a stone tablet 
(write to immutable memory) but once it's written once it's never going 
to change again. When your done with a stone tablet all you can do is 
throw it in the garbage but you can go and chip a new message on a new 
stone tablet.

Don't worry, it took me a while before I realized that an immutable 
didn't have to be known at compile time as well.


More information about the Digitalmars-d mailing list