If
T is an lvalue reference type or an rvalue reference to function type, the result is an lvalue;
if
T is an rvalue reference to object type, the result is an xvalue;
otherwise, the result is a prvalue and the
lvalue-to-rvalue (
[conv.lval]), array-to-pointer (
[conv.array]),
and function-to-pointer (
[conv.func]) standard conversions are
performed on the expression
v.