The + Plus symbol can act as a unary operator. Usually this has no effect, but the consequence of this is that it is deleted before the number is resolved. For instance:
int x[+30];
Converted to
int x[operator+(30)];
What then becomes
int x[30];
So this expression
x[+1] = 0;
It will just be allowed as
x[1] = 0;
It will not be resolved as * (x ++ 1), especially since this is an invalid syntax in C ++.
source share