I see code on StackOverflow every once in a while, asking about some overload ambiguity with something involving a function like:
void foo(int&& para
It's a rvalue reference, Bjarne describes it here.
Shameless copying ("quoting"):
The rvalue reference
An rvalue reference is a compound type very similar to C++'s traditional reference. To better distinguish these two types, we refer to a traditional C++ reference as an lvalue reference. When the term reference is used, it refers to both kinds of reference: lvalue reference and rvalue reference.
An lvalue reference is formed by placing an & after some type.
A a; A& a_ref1 = a; // an lvalue referenceAn rvalue reference is formed by placing an && after some type.
A a; A&& a_ref2 = a; // an rvalue referenceAn rvalue reference behaves just like an lvalue reference except that it can bind to a temporary (an rvalue), whereas you can not bind a (non const) lvalue reference to an rvalue.
A& a_ref3 = A(); // Error! A&& a_ref4 = A(); // Ok