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++ 一样

posted @ 2022-07-01 14:33  天下太平  阅读(85)  评论(0编辑  收藏  举报