What's the authoritative difference between immutable and const for reference types?

Justin Johansson no at spam.com
Sat Jun 26 04:19:39 PDT 2010


While my googling on "immutable" and "const" search words using 
site:digitalmars.com has not thrown up authoritative/definitive answers, 
  please accept my apologies for (re)asking this question that I feel 
sure has been asked numerous time before on this ng.

Specifically, I wish to have class which has a member variable which 
cannot be changed (and is guaranteed not to change) and this member 
variable happens to be a reference type (i.e. it's a pointer in C++ 
parlance) and, further more, the instance of the class which that 
variable refers to is to be deep immutable.

For instance, with

class Foo
{
}

class Bar
{
	Foo foo;
}

consider instances of Foo to be in ROM and instances of Bar to be in RAM 
  and once a Bar instance is constructed, the member variable foo itself 
is not allowed to be modified.

Thanks for answers,

Justin Johansson


More information about the Digitalmars-d mailing list