division of objects into classes and structures is bad
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Tue Dec 30 08:45:36 PST 2008
Don wrote:
> Christopher Wright wrote:
>> Don wrote:
>>> The creation of temporaries during expressions is something I'm
>>> currently working on solving. The case you mentioned is addressed by
>>> a proposal I made long ago:
>>
>> The easiest way is to add an intermediate struct. This takes a fair
>> bit of manual effort, though, and prevents you from using auto.
>
> That particular case is the easiest possible one. The case x = y - x,
> for example, is much more difficult to recognize.
>
>>
>> Essentially, you need a struct MyClassAddition that just records
>> operands. Then give it an implicit cast to MyClass that does the work.
>> This is an ugly solution because you need to duplicate the operator
>> overloads on MyClassXXX as well as MyClass.
>>
>> I believe I got this solution from an article by Andrei. It should
>> work pretty well for classes that define few overloads.
>
> I'm talking about a language solution. I want to solve this for the
> general case.
Don't forget that the case you are solving is not general enough because
you are focusing on eliminating temporaries, which is only part of the
story. I suggest you make place in your thoughts for loop fusion.
Andrei
More information about the Digitalmars-d
mailing list