I've read all the major questions on SO about different value categories but still don't clearly understand the difference between, in this case, xvalues vs prvalues.
I know that, like all glvalues, xvalues can have their dynamic type different from the static one, but e.g. in case of literal vs std::move
from literal I can't find 'real' behavioral differences (maybe apart from those that are formally based on what's xvalue and what's prvalue, like which constructor will get called in MyClass(std::move(5))
; but it doesn't seem that important in case of literals since their values won't be used anyway.
What is the actual 'benefit' I can get from calling std::move
on a literal?