Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-07-03 07:37:32

From: "Daniel Frey" <d.frey_at_[hidden]>

> See also Scott Meyers "More Efficient C++", Item 4.7. If you read the
> book, you might get the impression I misunderstood it completely, but
> please read Scott's errata for this item, available at:

And there it says:

  7/19/96 sdm 109 In July 1996, the standardization committee
                      decided that named objects may be treated
                      essentially the same as unnamed objects for
                      purposes of performing the return value
                      optimization. I added a footnote to this effect.

Which leads me to believe that there is no "NRVO", just an "RVO".
Furthermore, I believe that more compilers implement the RVO for unnamed
objects than for named objects. So why aren't you using this implementation

friend const T operator+( const T& lhs, const T& rhs )
  return T(lhs) += rhs;


Boost list run by bdawes at, gregod at, cpdaniel at, john at