#include <iostream>
using namespace std;
int main()
{
int i=2;
i=i++;
cout<<i<<endl;
return 0;
}
输出:
3
i = i++等价于如下两条语句:
i = i;
i = i + 1;
所以i = i++和i = i + 1执行后的结果是一样的。
但是对于 j = i++和 j = i + 1,执行结果就不一样了。根据上面的理解可知,j = i++等价于
j = i; // 跟j = i + 1不一样
i = i + 1;
另外不排除,编译器特殊优化