原帖链接
x=x+1最低,因为它的执行过程如下:
1. 读取右x的地址;
2. x+1;
3. 读取左x的地址;
4. 将右值传给左边的x(编译器并不认为左右x的地址相同).
x=+1其次,它的执行过程如下:
1. 读取右x的地址;
2. x=1;
3. 将得到的值传给x(因为x的地址已经读出).
x++最高,它的执行如下:
1. 读取右x的地址;
2. x自增1.
我觉得就是出现一次变量则要读一次内存,出现一次=则要一次赋值运算,所以x=x+1;两次读x一次赋值,效率最低。
x+=1;一次读内存一次赋值,效率居中,
x++,一次读内存,并没有赋值,效率最高
本文探讨了三种不同的变量操作方法:x=x+1, x+=1 和 x++ 的执行效率。通过对每种方法所需步骤的详细解析,揭示了它们在读取内存次数及赋值操作上的差异,最终得出了各自效率高低的原因。
169万+

被折叠的 条评论
为什么被折叠?



