Subject: Re: [boost] [interprocess] Compile problem with 1.39 and trunk
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2009-08-30 13:39:22


Mathias Gaunard wrote:
> Thomas Klimpel wrote:
> > The article explains "copy elision" and RVO, and hence explains why taking argument by value is closely related to rvalue-ness.
> Saying that perfect forwarding doesn't work because the compiler can't
> do an optional copy elision anymore when you forward a value seems a bit
> far-fatched, especially since the pattern where you can exploit it is
> quite specific. (I've never found a reason to pass arguments by value
> outside of the assignment operator)

While reviewing the polygon library in a debugger, I found myself stepping through copy-constructors of various iterator types quite often. So I remembered your claim "I've never found a reason to pass arguments by value outside of the assignment operator", because there are obviously good reasons to pass iterators by value.

Regards,
Thomas