C++中的前缀和后缀运算符有什么区别?
在前缀版本(即 ++i)中,i 的值将递增,并且表达式的值是 i 的新值。因此,它基本上先递增,然后再将一个值分配给表达式。
在后缀版本(即 i++)中,i 的值将递增,然而,表达式的 {value|the worth} 是 i 的原始值。因此,它基本上先将一个值分配给表达式,然后递增变量。
我们来看一些代码,以更好地理解 −
示例
#include<iostream> using namespace std; int main() { int x = 3, y, z; y = x++; z = ++x; cout << x << ", " << y << ", " << z; return 0; }
输出
这将给我们输出 −
5, 3, 5
为什么是这样?让我们详细了解一下 −
- 初始化 x 为 3
- 指定 y 为我们通过计算表达式 x++(即,在递增之前,x 的值然后递增 x)得到的值。
- 递增 x 然后指定 z 为我们通过计算表达式 ++x(即,递增之后,x 的值)得到的值。
- 打印这些值
广告