I've looked at rvalue reference, and it seems to return an assignable pointer to do other thing from a function
I'm not sure how you came to that conclusion, but it is not correct. R-values don't have much to do with pointers at all. Though they sometimes do solve problems you would be tempted to use pointers for. I admit I do find it hard to explain briefly what they are though. Maybe these are helpful, though it might be hard to grasp if you don't already properly understand C++: http://www.artima.com/cppsource/rvalue.html http://thbecker.net/articles/rvalue_references/section_01.ht.... This example basically gives an idea of why they are useful: http://thisthread.blogspot.be/2011/03/what-is-rvalue-referen...