#include <stdio.h>
int main()
{
int i=10;
int j=10;
i=i++;
j=++j;
printf("%d,%d\n", i, j);
getchar();
return 0;
}
VS下: 11,11
g++/gcc:10,11
如果是一个对象,重载了++操作符,那么结果也是10,11
vc下,看过汇编代码,是先赋值,再i++的。gcc/g++的没看过,不过应该是改变了i的值以后就自增,然后再赋值给左边的i,这样比较符合逻辑。