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 的值)得到的值。
- 列印這些值
廣告