division of objects into classes and structures is bad

Don nospam at nospam.com
Tue Dec 30 07:26:15 PST 2008


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.



More information about the Digitalmars-d mailing list