Is it standard-conforming to use expressions like
int i = 1;
+-+-+i;
and how the sign of i variable is determined?
i
isn't modified (C: without intervening sequence points|C++: in an unsequenced manner) so it's legal. You're just creating a new temporary with each operator.
The unary +
doesn't even do anything, so all you have is two negations which just give 1
for that expression. The variable i
itself is never changed.