aka*_*090 3 c microcontroller
执行速度n/=10和n=n/10执行速度之间有什么区别吗?
n/=10
n=n/10
就像n--和--n在他们的执行速度明智也有不同...
n--
--n
Lig*_*ica 5
不,不是真的:
[C99: 6.5.16.2/3]:表单的复合赋值E1 op= E2与简单赋值表达式的不同之处E1 = E1 op (E2)仅在于左值E1仅计算一次.
[C99: 6.5.16.2/3]:
E1 op= E2
E1 = E1 op (E2)
E1
因此,只有当你n是一个带有副作用的非平凡表达式(例如函数调用)时,这才会产生影响.
n
否则,我认为理论上会涉及一个中间临时变量,但是你必须非常不幸,因为这样的临时变量在你编译的可执行文件中实际存活.您不会发现这两种方法之间存在任何性能差异.
使用基准确认,并比较生成的装配.
归档时间:
13 年,5 月 前
查看次数:
4504 次
最近记录:
10 年,9 月 前