I still need to understand if I like this definition, in the mean time I'll leave it here:

When speaking about rvalues, I prefer to use the term "anonymous variables" instead of "temporal objects". So, verbosity is reduced: "std::move made the object anonymous", and int&& x binds to anonymous integers.


On the contrary I can embrace this with confidence:

An rvalue doesn't have to be a temporary. Temporaries are prvalues, but not all rvalues are temporaries. The key feature of an object that is bound to an rvalue reference is that there is not supposed to be any other alias of the object. (This isn't enforced by the type system, but this is how you are supposed to use it.)