x=x+1最低,执行过程: 1)读取右边x的地址 2)x+1 3)读取左边x的地址 4)将右值给左边的x(编译器并不认为左右x的地址相同) (编译器不会这么笨吧,两个x还能有不一样的地址??) x+=1次之,过程: 1)读取右边x的地址 2)x+1 3)将得到的值给x(因为x的地址已经读出) x++的效率最高,过程: 1)读取右边x的地址 2)x自增1 所以x++的效率最高.... 但基本上在编译器优化之后,效率是一样的,所以差别不大
x=x+1最低,执行过程: 1)读取右边x的地址 2)x+1 3)读取左边x的地址 4)将右值给左边的x(编译器并不认为左右x的地址相同) (编译器不会这么笨吧,两个x还能有不一样的地址??) x+=1次之,过程: 1)读取右边x的地址 2)x+1 3)将得到的值给x(因为x的地址已经读出) x++的效率最高,过程: 1)读取右边x的地址 2)x自增1 所以x++的效率最高.... 但基本上在编译器优化之后,效率是一样的,所以差别不大