为什么操作完成后后缀增量不起作用?
理论上,毕竟应该是:先操作(带自增的操作数所在的位置),再执行后缀自增。而在示例中,增量根本不起作用,无论是之前还是之后,都没有任何痕迹:
int i = 5;
i = i++; //Я ожидал, что будет: 5 присваивается в i, только потом выполняется 5+1 в i (в это же переменную, здесь же не j например стоит...).
System.out.println(i); //Вывод: 5... Почему не 6? Инкремент что-то сделал?
右侧的所有操作都发生在执行分配之前。
后缀增量规则 - 它返回增量之前的参数值。之后的前缀值。
C++ 中的可能实现(Java 不支持通过引用传递):