Function return values in GMP? (James Wheaton)

Décio Luiz Gazzoni Filho decio at decpp.net
Thu Mar 2 00:33:02 CET 2006


On Mar 1, 2006, at 7:53 PM, Daniel J Farrell wrote:

> A = B + C
>
> means that a temp object containing the value of B+C need to be
> created inside you method/function, passed into the memory space for
> A, then destroyed.
>
> A =+ B
>
> is different because you can get away with using A as the temp
> because your just summing into it every time.
>
> It's stuff like this that isn't apparent until you actually sit down
> an write the code. Hence that's why the result gmp variable is passed
> as a function argument - to by pass the memory management issues of
> temp variables.

Actually that is a well known problem with operator overloading in C+ 
+ and which has been solved (though not 100% satisfactorily) using  
the technique of `expression templates', which by the way is  
implemented in the C++ wrapper for GMP.

Décio


More information about the gmp-discuss mailing list