自增操作,是C++和Java语言都提供的一个基本运算符,自减操作类似。
前置自增,是先将值自增,然后返回自增后的值作为自增表达式的值;后置自增,是等价于有个临时变量保存当前值,然后当前值自增,返回临时变量作为后置自增表达式的值。
概念简单,但是看到别人讨论的问题,还是有些疑惑:
int y = 1;
输出 (y++&y++);
这段代码,在VS2005和JDK1.6下的结果竟然不同...
Java中应该是确定性的,后置自增只是表达式的局部范围(仅仅自增这部分),而C++则不是确定性行为。这个有能解释一下吗?