先看一段代码:
输出结果为:
num1 = 2
num2 = 2
sum1 = 2
sum2 = 1
原理: 前置运算符,先将自身递增,然后返回自身;
后置运算法,先创建自身的一个副本,而后自身递增,然后返回副本。
正如上例代码:
sum1 = ++num1; --> num1先自增本身,值变为2,再返回本身,sum1即被赋值为2;
此时,num1 = 2, sum1 = 2。
sum2 = num2++; -->num2先创建自身副本(假设为tmp),tmp = num2,然后num2自增,
值变为2,返回副本tmp,sum2即被赋值为1;
此时,num2 = 2, sum2 = 1。
再来看一看运算符的重载,更加一目了然。