This may be obvious but I think it is something difficult to me. Given this:
void test(std::string&&) { } std::string x{\"test\"}; test(std::move(x)
In simple terms:
&&
const &&
&
const &