增量运算符++对其操作数加1,而减量运算符-从其操作数减1。所以,x = x+1; is the same as x++;
同样,x = x-1; is the same as x--;
递增和递减运算符都可以在操作数之前(前缀)或跟随(后缀)。x = x+1; can be written as ++x;
请注意,将增量或减量用作表达式的一部分时,前缀和后缀形式存在重要差异。如果使用前缀形式,则在休息表达式之前将执行递增或递减操作;如果使用后缀形式,则将在对完整表达式求值后执行递增或递减操作。在前缀版本(即++ i)中,i的值增加,并且表达式的值是i的新值。因此,基本上,它首先递增,然后为表达式分配一个值。
在后缀版本(即i ++)中,i的值增加,但是表达式的值是i的原始值。因此,基本上,它首先为表达式分配一个值,然后递增变量。
示例
让我们看一些代码以获得更好的理解-#include
using namespace std;
int main() {
int x = 3, y, z;
y = x++;
z = ++x;
cout <
return 0;
}
输出结果
这将给我们输出-5, 3, 5
为什么是这样?让我们详细看一下-初始化x到3
通过评估表达式x ++,为y赋值,即在递增x之前先递增x的值。
递增x,然后为z赋值,我们可以通过计算表达式++ x来获得z的值,即递增后x的值。
打印这些值