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.

Reply via email to