So far, I'm having an indigestion.
After my limited experience with D, the rvalue references in C++11 appear clumsy both syntactically (uhm double ampersand, seriously?) and cognitively. They have the coder prematurely solve a performance issue that optimizers should solve themselves.
I hope somebody, other than myself, will write an Article about them soon.
rvalue refs fill the biggest of the holes in the C++ type system, which, in turn, finally makes perfect forwarding possible, which in turn makes emplacing and containers of non-copyable types possible.
It also introduces the concept of moving, which sort of existed in the depths of library implementations for a long time, thanks to the compiler optimizations. I don't see it as a performance issue: there are classes that are, conceptually, movable but not copyable. For example, std::thread.
I'm trying to get to grips with them at the moment - I have 6 differentt website references open as we speak - seem to be getting the hang of it/them.
I think rvalue reference will be useful.
Having dynamic containers of non-copyable objects is a huge benefit indeed - for the longest time when I needed this I would have to use pointers, which provides a huge potential for error.