我知道x++指的是后增量。它首先使用原始值,然后使用增量值。
但是什么时候才会真正发生呢? 当执行代码中的下一个立即行时会发生这种情况吗? 原值返回一次会出现这种情况吗?
最佳答案
它发生在序列点之间。
除此之外,具体发生时间尚未确定。
想象一下这个
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;
关于c - x++ 的增量操作何时发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55712606/