x=x+1,x+=1,x++的区别


x=x+1,执行顺序如下:

  1. 读取右x的地址
  2. x+1
  3. 读取左x的地址
  4. 将右表达式的值传递给左x

【注】编译器不会认为左右x的地址相同

【注】该表达式不会强制转换,且效率最低

1 short x=86;
2 x=x+1;//编译器会出错,因为右边相加后是int型

x+=1,执行顺序如下:

  1. 读取x的地址
  2. x+1
  3. 将得到的值传给x(因为x的值已经读出)

【注】会强制转换,效率其次

1 short x=86;
2 x+=1;//编译正确

x++,执行顺序如下:

  1. 读取x的地址
  2. x自增1

【注】x++为递增运算,其效率最高


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM