Old problem with performance

naryl cy at ngs.ru
Mon Feb 23 04:35:12 PST 2009


Weed Wrote:

> Weed �����:
> > Bill Baxter �����:
> >> On Sun, Feb 22, 2009 at 1:02 AM, Weed <resume755 at mail.ru> wrote:
> >>> Bill Baxter �����:
> >>>> 2009/2/21 Weed <resume755 at mail.ru>:
> >>>>> Weed �����:
> >>>>>> Bill Baxter �����:
> >>>>>>
> >>>>>>> Why don't you just show us the class in the way you would like to
> >>>>>>> write it in C++, and we'll show you how to write it in D, or finally
> >>>>>>> agree with you that it's not possible.   But as long as you continue
> >>>>>>> to be hand-wavy about "common base classes" we're at a bit of an
> >>>>>>> impasse.  So far everyone thinks D can do what you want it to do based
> >>>>>>> on your vague descriptions.
> >>>>> As I said, you can write everything using "goto" and "if".
> >>>>>
> >>>>> ...But why you do not like the original example of this thread?
> >>>> Please post again.  I don't seem to recall any detailed example.
> >>>>
> >>>> --bb
> >>> http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D&artnum=83506
> >> You should use a struct there!   Your code does not show you doing
> >> anything that would even remotely suggest using a class is worthwhile.
> >>  You're doing value operations on value types.  That's what structs
> >> are for.
> >  	
> > Why?
> > 
> > What if I have not substantiated the fact that c1 is a class I should
> > use there a structure?
> > 
> > Used in D a model of placement classes only in heap have a rule "if you
> > made the class and trying to pass it by value is somewhere in your code,
> > there is a design error?
> 
> Explains why the question is given in this form:
> 
> I am received or wrote a classes. Is it right to overload the operator
> opAdd and use them? I think yes.
> 
> But why not allow this operation at the same speed that allows C++?

If you pass it by value you'll lose polymorphism. That must mean that you inherit that class only to avoid duplicating code. And that is easily done with template mixins.



More information about the Digitalmars-d mailing list