"However,std::move() doesn’t itself do any moving, but merely converts its argument into a so-called rvalue reference, which is a type declared with two ampersands: X&&. This new type stands for rvalues (anonymous temporaries that can appear only on the right-hand side of an assignment) that can be m"