可能重复: Why is ++i considered an l-value, but i++ is not?
在C++中(也在C中),如果我写:
++x-- ++(x--)
然而 (++x)-- 编译。我很困惑。
(++x)--
增量后和增量前运算符只对左值起作用。
当你打电话的时候 ++i i 是递增的,然后 我 已返回。在C++中,返回值是变量,是一个LValk。
++i
i
我
当你打电话的时候 i++ i-- 我 复制 与变量不对应 所以它不能用作左值。
i++
i--
无论如何,不要这样做,即使它编译。