Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: 为什么 ++i 被认为是左值,但 i++ 不是?
在 C++(以及 C)中,如果我写:
++x-- ++(x--)
我得到错误:需要左值作为增量操作数
但是(++x)--编译。我很困惑。
(++x)--
后增量和前增量运算符仅适用于左值。
当您调用时++i,值i会递增,然后i返回。在 C++ 中,返回值是变量并且是左值。
++i
i
当您调用i++(or i--) 时,返回值是i递增之前的值。这是旧值的副本,与变量不对应,i因此不能用作左值。
i++
i--
无论如何不要这样做,即使它编译。