由买买提看人间百态

topics

全部话题 - 话题: memoryt
(共0页)
R***a
发帖数: 41892
1
现在的编译器没那么二吧。
一看上下文不需要整个表达式的值,直接就忽略啊。
就算需要表达式的值
那也一个是
++i:
mov ax, [memoryi]
inc ax
mov [memoryi], ax
mov [memoryt] ax
另外一个是
i++
mov ax, [memoryi]
mov [memoryt], ax
inc ax
mov [memoryi], ax
d*******n
发帖数: 524
2
不对吧,如果需要返回表达式的值,那i++还是多一个临时变量的,时间和空间消耗都
是有区别的。
如果不需要返回,那倒是可能被compiler优化了,没有区别。
x=(++i):
mov ax, [memoryi]
inc ax
mov [memoryi], ax
mov [memoryx], [memoryi]
另外一个是
x=(i++):
mov [memoryt], [memoryi]
mov ax, [memoryi]
inc ax
mov [memoryi], ax
mov [memoryx], [memoryt]
(共0页)