The Status of Const
Jonathan M Davis
jmdavisprog at gmail.com
Fri Aug 13 14:33:47 PDT 2010
On Friday, August 13, 2010 14:10:20 Tomek Sowiński wrote:
> Glad you like it. Time ago I had an overzealous attempt to port QuantLib to
> D and I quickly found out that the *only* sort of const I needed was tail
> const. It's what I ended up declaring fields of my structs because if just
> one field is from-head const, the restrictions are basically the same as
> if the whole struct was const (which is correct but...). It's what the
> parameters of pure functions should implicitly be declared to (no big
> deal, but still). From-head const gives me no upper hand in the
> multi-threaded domain, just pain in my rectum domain. Sure, from-head
> const is at times useful, but tail const is the workhorse.
That's exactly why final in Java is so useless for objects. It makes the wrong
thing const. How often do you have const pointers in C++? Very rarely. How often
do you have pointers to const in C++? All the time (assuming that you're trying
to be at all const-correct anyway). At the moment, D is falling into a pit
similar to that of Java with const and references. D's is better since the
object _is_ const, but since you usually just want the object const, not the
reference, it's incredibly counter-productive.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list