x=x+1,x+=1,x++的效率问题?

196:  x=x+1;
00401FB4   mov         eax,dword ptr [ebp-8]
00401FB7   add         eax,1
00401FBA   mov         dword ptr [ebp-8],eax

196:  x+=1;
00401FB4   mov         eax,dword ptr [ebp-8]
00401FB7   add         eax,1
00401FBA   mov         dword ptr [ebp-8],eax

196:  x++;
00401FB4   mov         eax,dword ptr [ebp-8]
00401FB7   add         eax,1
00401FBA   mov         dword ptr [ebp-8],eax

这是我自己测试得出的汇编语言,三者一样

但我看到有文章说x++效率最高,x=x+1效率最低

因为x=x+1

先取右x的地址

x+1

去左X的地址

把右值传给左值

而x++

直接取右值

x+1

少了两个步骤

 

你可能感兴趣的:(效率问题)