It's there to be overloaded if you feel the need; for all predefined types it's essentially a no-op.
The practical uses of a no-op unary arithmetic operator are pretty limited, and tend to relate to the consequences of using a value in an arithmetic expression, rather than the operator itself. For example, it can be used to force widening from smaller integral types to
int, or ensure that an expression's result is treated as an rvalue and therefore not compatible with a non-
const reference parameter. I submit, however, that these uses are better suited to code golf than readability. :-)