Are there any guarantees when modifying arguments during method invocation?-Collection of common programming errors
In Java when passing arguments to a method and modifying the passed arguments during the method call is it guaranteed that the result is what is expected? E.g.
a.method(++i); etc
Is it guaranteed for instance that inside method the variable i will have the updated value?
Or a.method(i++) Will method get the value of i after incrementing or before?
Also same for all similar cases.
I kind of remember this is forbidden in C++ as implementation specific but perhaps I remember wrong.