2013-06-18 50 views
-1

我已經知道當在語句中與另一個運算符結合時,主運算符(x ++)與一元運算符(++ x)不同。x ++和++之間的差異x

但是我不知道這兩個操作員是否相同,當他們單獨留在聲明中。我的意思是有關編譯代碼,時間運行,...之間:

++x; 

x++; 

x是一個整數變量。

+0

http://stackoverflow.com/questions/4706199/post-increment-and-pre-increment-in-for-loop –

+1

試INT'一個= ++ X ;'和'a = x ++;',你會看到...... – Thomas

+0

@Thomas:好像你誤解了我 –

回答

4

這是在Windows 8的x64 拆卸(未IL)是相同的:

   ++x; 
0000004a inc   dword ptr [ebp-40h] 
       x++; 
0000004d inc   dword ptr [ebp-40h] 

正如你可以看到,這兩個語句是一個inc指令。我用這個代碼嘗試:

int x = 0; 
for (int i = 0; i < 10; i++) 
{ 
    ++x; 
    x++; 
} 
相關問題