Xol*_*lve 4 c c++ increment decrement
可能重复:
为什么++ i被认为是l值,但i ++不是?
在C++(以及C语言)中,如果我写:
++x--
++(x--)
Run Code Online (Sandbox Code Playgroud)
我得到错误:左值作为增量操作数
然而(++x)--编译.我很迷惑.
Mar*_*ers 10
后增量和前增量运算符仅适用于左值.
当你调用++i的值i增加后再i返回.在C++中,返回值是变量,是一个左值.
当您调用i++(或i--)时,返回值是i增加之前的值.这是旧值的副本,与变量不对应,i因此不能用作左值.
无论如何,即使它编译,也不要这样做.
| 归档时间: |
|
| 查看次数: |
921 次 |
| 最近记录: |