On 2016-02-02 19:03:04 +0000, anonymous said:
This isn't valid D code at all, which makes it unnecessarily hard to
understand what you mean.
Well, it should of course be:
BaseOperator: Value {
}
A Value* is a pointer to a class reference. Unless you're doing
something really funky with the pointer, casting it to a class type
doesn't make sense.
Casting between class types that have an inheritance relation, like
Value and BaseOperator, does make sense (upcat/downcast).
Yes, that's what I need.
If anything, you should be casting between Value* and BaseOperator*
(both pointer types) if you want to do something with pointers.
I tried this, but that doesn't work either.
But you very seldom need pointers to class references. Just return
Value from get, and cast to BaseOperator.
But am I not getting a copy then? I want to avoid copying objects as
much as possible.
--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster