Confused about const

bearophile bearophileHUGS at lycos.com
Sat Mar 20 04:48:43 PDT 2010


Paul D. Anderson:

> After further review, I now realize that the right way (for me) to do this is to add a .dup property.<

Steven Schveighoffer has given you quite good answers.
A dup is generally not enough, because what you dup can have other immutable references nested inside. Dup is not a deep copy.
The summary of this topic is (until inout works) that if you can return a const value, then don't copy things. This is the preferred option, because one of the main purposes of const data is to not have to copy them.
If you can't return a const, then don't mark the input values as const. The safety given by the not deep const of Java is only partial safety.

Bye,
bearophile


More information about the Digitalmars-d-learn mailing list