On Saturday, 15 September 2012 at 13:36:00 UTC, Maxim Fomin wrote:
On Saturday, 15 September 2012 at 12:43:22 UTC, Alex Rønne
Petersen wrote:
But this being said, I agree that references being nullable by
default is hurtful. It allows any object reference to have an
invalid state even though in 99% of cases, that doesn't make
sense. It's a giant hole in the type system that many new
languages have gotten rid of very early (forcing the
programmer to use explicit option/nullable types).
Are speaking about classes? Then how they can be initialized
(except for null and other existing object)?
When you want it to be initialized with null, use a pointer. Else
you can use something like this:
class AClass {
this(BClass bclass = new BClass) {
_class = bclass;
}
BClass _class;
}
By the way, a pointer holds two pieces information:
1) If there is an object available
2) If so, the object itself
In most cases, you only need the second one and the if is
redunant.