C++ 中的 i++ 和 ++i 之间有性能差异吗?
++的后缀和前缀版本之间有很大的区别。
在前缀版本(即++i)中,i的值递增,表达式的值为i的新值。所以基本上它首先增加然后为表达式分配一个值。
在后缀版本(即i++)中,i的值是递增的,但表达式的值是i的原始值。所以基本上它首先为表达式赋值,然后增加变量。
让我们看一些代码以获得更好的理解。
示例代码
#include输出结果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
将我们通过评估表达式x++得到的值分配给y,即,在递增之前x的值然后递增x。
递增x然后将我们通过评估表达式++x得到的值分配给z,即递增后x的值。
打印这些值