【发布时间】:2019-04-16 16:19:37
【问题描述】:
我知道 x++ 是指后增量。它首先使用原始值,然后使用增量值。
但这实际上是什么时候发生的呢? 执行代码中的下一个直接行时会发生这种情况吗? 原值返回一次会出现这种情况吗?
【问题讨论】:
-
大多数 C++ 编译器可以告诉您任何给定语句的汇编级输出。看看机器级别发生了什么。编译器优化很难说一般情况下会发生什么,这是高度情境化的。
-
它发生在序列点之间。除此之外,它何时发生是未指定的。
-
取决于您系统的架构或机器。后增量
x++可以在内部占用两个机器周期(MOV,INC),也可能只需要一个机器周期(INC),具体取决于处理器。