Вы должны понимать, что ссылка на какое-либо значение магическим образом не перемещает значение. Все, что он делает, это делает возможным получение неконстантной ссылки на временные объекты.
Эта ссылка в вашем примере не отличается от обычной ссылки, потому что у вас нет временных данных здесь. Вы тот, кто должен сделать «движение».
например. если вы определили, что ваш int пуст, когда он имеет значение 0
, и вы пишете функцию, которая принимает ссылку на rvalue, использует ее и устанавливает переданное значение равным 0
, то вы «переместили» предыдущее значение из вашего инт. После вызова этой функции она будет содержать 0
. Но это потому, что вы определили это так.
Теперь для целых чисел это не имеет особого смысла, но представьте, что вы обрабатываете указатель на большой кусок памяти.