Walter Bright wrote:
Andrei Alexandrescu wrote:
Is there any good use of unary +? As an aside, Perl programs do use it
occasionally for syntactic disambiguation :o).
An internet search reveals:
1. symmetry
I think it makes sense for literals. Not for anything else though.
Since + is a no-op, it just causes confusion.
2. compatibility with C and many other languages that use it
That matters only if those other languages actually have a use for it.
3. used with operator overloading to convert a user defined type to its
preferred arithmetic representation (a cast can't know what the
'preferred' type is)
> 5. to coerce default integral promotion rules (again, cast(int) won't
> always produce the same result)
This one is interesting, and might be the strongest argument, but I
don't understand it. An example would be interesting.
4. to create DSL languages, like Spirit, as Kenny points out
If we are to have a feature specifically for DSL languages, it's not
hard to come up with something more useful...
(From memory, Spirit uses it as the nearest available approximation to
postfix +).
6. to visually emphasize that a literal is positive
Yes, I think this is the strongest. But this doesn't need unary + in
general, I don't think. Just for numeric literals.