Update 6/8/07: Rvalue references have now been incorporated into GCC 4.3. To use them in your code, just specify the -std=c++0x
option to GCC. Other C++0x features enabled by this mode are listed here. The original rvalue reference proposal, N1377, is probably the best available guide to using rvalue references in practice.
Much thanks goes to Doug Gregor, without whose efforts, rvalue references would not be a part of GCC right now. He implemented the implicit rvalue cast logic used in return
and throw
statements, elision of move constructors, and other fixes to get the patch accepted into GCC. Also, Pedro Lamarão assisted with testing and implemented support for the -std=c++0x
option. Howard Hinnant provided a ton of help and support by
email, and wrote a whole suite of unit tests which were included in the GCC patch.