What's wrong with this code?
Michal Minich
michal.minich at gmail.com
Sat Jan 8 12:46:01 PST 2011
On Sat, 08 Jan 2011 20:34:39 +0000, Sean Eskapp wrote:
> if(left == null)
1) write if (left is null) instead if checking for null. Equality
operator is rewritten to a.opEquals(b), which you don't want if you
checking for null.
> this()
> {
> left = right = null;
> }
2) default constructor as you written it is not needed, fields are always
initialized to default value of their type, which is in this case null.
> private const Fib* left, right;
3) Classes in D are reference types. It should be
private const Fib left, right;
4) second constructor - Classes in D are reference types, & operator is
not needed (see point 3), parameter left and right are already references
to class.
More information about the Digitalmars-d-learn
mailing list