ConceptGCC 4.3.0 alpha 6(cygwin)で右辺値参照を試してみたのでそのサンプルです
#include <iostream> using namespace std; struct person { int age; string name; person(int age, const string& name) : age(age), name(name) {} }; void foo(const person&& x) { cout << "rvalue : " << x.age << "," << x.name << endl; } void foo(const person& x) { cout << "lvalue : " << x.age << "," << x.name << endl; } int main() { foo(person(22, "Akira")); // rvalue : 22,akira person johnny(38, "Johnny"); foo(johnny); // lvalue : 38,Johnny return 0; }