x=x+1,執行順序如下:
- 讀取右x的地址
- x+1
- 讀取左x的地址
- 將右表達式的值傳遞給左x
【注】編譯器不會認為左右x的地址相同
【注】該表達式不會強制轉換,且效率最低
1 short x=86; 2 x=x+1;//編譯器會出錯,因為右邊相加后是int型
x+=1,執行順序如下:
- 讀取x的地址
- x+1
- 將得到的值傳給x(因為x的值已經讀出)
【注】會強制轉換,效率其次
1 short x=86; 2 x+=1;//編譯正確
x++,執行順序如下:
- 讀取x的地址
- x自增1
【注】x++為遞增運算,其效率最高