I am trying to better understand the std::move(). I used to think it creates a cast to an rvalue reference. But in the documentation I have come across this:
std::moveproduces anxvalueexpression that identifies its argument. It is exactly equivalent to astatic_castto anrvaluereference type.
It is unclear for me, why there exist xvalue's alongside with rvalue's? Is it a matter of the C++11 vs. C++14 standard?