const ref and rvalues

Timon Gehr timon.gehr at
Thu Feb 16 07:12:51 PST 2012

On 02/16/2012 11:07 AM, Don Clugston wrote:
> On 16/02/12 06:38, Martin Nowak wrote:
>> On Thu, 16 Feb 2012 00:46:35 +0100, Trass3r <un at> wrote:
>>> I posted this question several times already and no answer yet,
>>> why is allowing temporaries bind to ref const params bad again?
>> You'd want to pass temporaries by value, because then they can be
>> constructed saving you a copy.
>> If you want a function that avoids copies for lvalues and rvalues then
>> you need auto ref :(.
> Yes but that doesn't work for const.

I think it does. What would be the problem?

>> C++'s 'const &' is very easy to get wrong.
> Yes, but D still hasn't got it right.
> As far as I can tell, "const ref" in a parameter list is ALWAYS a bug.

Why? It is perfectly reasonable to pass a large struct by const ref.

More information about the Digitalmars-d mailing list