前缀/后缀增量

可能重复:
后增量和预增量概念?

任何人都可以明确解释前缀增量与后缀增量的区别吗?

也有人可以解释为什么这个输出6?

i=1; cout << ++i + ++i; 

也为什么这给了4

 i = 1; cout << ++i + i++; 

为什么这会产生真实

 i = 0; cout << (i++ || i++) 

1)很明显,“++ i”首先递增变量,然后“i ++”递增。

2)不太明显,将中缀递增/递减与同一变量上的其他操作混合的复杂表达式可能会引入未定义的行为

我同意:线程后增量和预增量概念? 解决了这个问题。

前缀++i和后缀i++运算符会影响语句的计算顺序。 使用前缀++i++i的值递增,这就是使用的值。 但是使用后缀i++ ,使用i的原始值,然后对于该行之后的任何内容递增。