自增運算子 與 自減運算子

2021-08-31 03:26:43 字數 817 閱讀 5952

字首形式的++操作符出現在運算元的前面。

例如:   ++a;

說明: 運算元的值被相加,而表示式的值就是運算元增加後的值

舉例:   int a, b = 1;

a = ++b;        //b增加至2,a得到的值為2

字尾形式的++操作符出現在運算元的後面。

例如:   a++;

說明: 運算元的值仍被相加,而表示式的值是運算元增加前的值

舉例:   int a, b = 1;

a = b++;        //b增加至2,a得到的值為1

顯然,根據操作符的位置,我們很容易記住這個規則:

在運算元之前的操作符(++b)在變數值在被使用之前增加它的值;在運算元之後的操作符(b++)在變數值被使用之後才增加的值。--操作符的工作原理與此相同,只是它所執行的是減值操作而非增值操作。

自增運算子過載

由於字首自增與字尾自增在如果通過運算子過載在形式上相同,都為

以date類為例 date& operator++(date &)(全域性函式)/ date& operator++( )(成員函式)無法區分。

故人為規定字首自增與字尾自增運算子的表達形式:

由於編譯器必須能夠識別出字首自增與字尾自增,故人為規定了用乙個 int 區分,並沒有實際的含義。

字首自增示例 

calendar& calendar::operator++()

字尾自增示例

calendar calendar::operator++(int)

自增自減運算子

自增自減運算子 i 先使用i,然後i i 1 i 先使用i,然後i i 1 i 先i i 1然後使用i i 先i i 1 然後使用i 以下使用vc下除錯的結果,不同的編譯器可能有不同的結果。i 3 例1printf d i 結果輸出4 例2printf d i 結果輸出3 例3printf resu...

自增 ,自減 運算子

自增1運算子記為 其功能是使變數的值自增1。自減1運算子記為 其功能是使變數值自減1。自增1,自減1運算子均為單目運算,都具有右結合性。可有以下幾種形式 i i自增1後再參與其它運算。i i自減1後再參與其它運算。i i參與運算後,i的值再自增1。i i參與運算後,i的值再自減1。在理解和使用上容易...

自增與自減運算子

include int main 注意 無論是a 還是 a都等同於a a 1,在表示式執行完畢後a的值都自增了1,無論是a 還是 a都等同於a a 1,在表示式執行完畢後a的值都自減少1 c程式為邏輯逐行運算,遂值在逐行運算後 不斷在變化,只是區別與輸出與否。自增自減運算 字尾自增 x i x i ...