int类型 ++i i++ j=++i j=i++的区别
int i = 0;
00071ABE mov dword ptr [i],0
++i;
00071AC5 mov eax,dword ptr [i]
00071AC8 add eax,1
00071ACB mov dword ptr [i],eax
i++;
00071ACE mov eax,dword ptr [i]
00071AD1 add eax,1
00071AD4 mov dword ptr [i],eax
int j = 0;
00071AD7 mov dword ptr [j],0
j = ++i;
00071ADE mov eax,dword ptr [i]
00071AE1 add eax,1
00071AE4 mov dword ptr [i],eax
00071AE7 mov ecx,dword ptr [i]
00071AEA mov dword ptr [j],ecx
j = i++;
00071AED mov eax,dword ptr [i]
00071AF0 mov dword ptr [j],eax
00071AF3 mov ecx,dword ptr [i]
00071AF6 add ecx,1
00071AF9 mov dword ptr [i],ecx
结论
汇编层面
++i和i++ 一样
j=++i和j=i++ 一样