-1
我已經知道當在語句中與另一個運算符結合時,主運算符(x ++)與一元運算符(++ x)不同。x ++和++之間的差異x
但是我不知道這兩個操作員是否相同,當他們單獨留在聲明中。我的意思是有關編譯代碼,時間運行,...之間:
++x;
和
x++;
這x
是一個整數變量。
我已經知道當在語句中與另一個運算符結合時,主運算符(x ++)與一元運算符(++ x)不同。x ++和++之間的差異x
但是我不知道這兩個操作員是否相同,當他們單獨留在聲明中。我的意思是有關編譯代碼,時間運行,...之間:
++x;
和
x++;
這x
是一個整數變量。
這是在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++;
}
http://stackoverflow.com/questions/4706199/post-increment-and-pre-increment-in-for-loop –
試INT'一個= ++ X ;'和'a = x ++;',你會看到...... – Thomas
@Thomas:好像你誤解了我 –