On Friday, 17 August 2012 at 00:32:03 UTC, Mehrdad wrote:
On Friday, 17 August 2012 at 00:10:52 UTC, Jonathan M Davis
wrote:
In contrast, in D,
const ref Array!(T*) getStuff() const;
you would _know_ that not only is the container not altered,
but you know that the elements aren't altered either -
or anything which the elements point to.
I'm not so sure about that.
...snip...
Your example is not equivalent to what he was saying.
Also, D's const is _not_ a guarantee that there are no mutable
references to something. That'd be immutable. It just says that
it's illegal to modify something which is const (... i.e.
_directly_ ... obviously, you can modify something which is const
via a mutable reference dangling around, but that's _not_
something that const is supposed to protect you from)
Right, it's the equivalent of static fields, see my example
above.
ditto to above