[Bug c++/36461] [c++0x] Exception throws don't use rvalue reference constructors

dgregor at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Sep 24 20:21:00 GMT 2008



------- Comment #4 from dgregor at gcc dot gnu dot org  2008-09-24 20:20 -------
GCC is doing the right thing here. In this constructor:

  Thing2(Thing2&& o) : Thing(o) { }

the parameter "o" is treated as an lvalue, because it has a name. Using
std::move(o) to treat it as an rvalue.

Similarly, there are no automatically generated move constructors or
move-assignment operators, so if you leave Thing2() empty, you'll just get the
copy constructor and therefore do a copy.


-- 

dgregor at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36461



More information about the Gcc-bugs mailing list