我知道x ++是指帖子增量。它首先使用原始值,然后求助于增量值。
但是什么时候真正发生呢? 当执行代码中的下一个立即行时,会发生这种情况吗? 一次返回原始值会发生这种情况吗?
答案 0 :(得分:3)
它发生在序列点之间。
除此之外,它的发生时间不确定。
想象一下
x = y = z = 42
; // sequence point A
n = x++ + y++ + z++
; // sequence point B
随后点A x,y和z均为42;在序列点B,它们都是43。您所关心的是,编译器可以发出代码以同时更新所有3个变量。
// pseudo code
n = 126;
[vector increment][x,y,z];
//n = 126;