why is x+=1 more efficient than x = x+1
In  x += 1 , why is x evaluated once? and in x = x +1 , why is it evaluated twice? How are the two expressions evaluated in terms of compiler intermediate code? 

Also I have read that x+=1 is useful when x is not a simple variable, but an expression involving an array. Any ideas why this is the case?


why is x+=1 more efficient than x = x+1
===

In  x += 1 , why is x evaluated once? and in x = x +1 , why is it evaluated twice? How are the two expressions evaluated in terms of compiler intermediate code? 

Also I have read that x+=1 is useful when x is not a simple variable, but an expression involving an array. Any ideas why this is the case?

