第四章 表示式 4 5 遞增和遞減運算子

2021-10-19 14:51:33 字數 715 閱讀 4086

遞增運算子++,遞減運算子--為物件的加 1 和減 1 操作提供了一種簡潔的書寫形式。

遞增和遞減運算子有兩種形式:

int i =

0, j;

j =++i;

// i 的值是 1,j 的值是 1

j = i++

;// i 的值是 2,j 的值是 1

前置版本得到遞增之後的值,後置版本得到遞增之前的值。

這兩種運算子都必須作用於左值運算的物件。前置版本將物件本身作為左值返回,後置版本則將物件原始值的副本作為右值返回。

除非必須,後則不用遞增遞減運算子的後置版本

在一條語句中混用解引用和遞增運算子

如果我們想在一條復合表示式中即將變數加 1(或減 1)又能使用它原來的值,可以使用遞增(或遞減)運算子的後置版本。

auto pbeg = v.

begin()

;// 輸出元素直至遇到第乙個負值為止

while

(pbeg != v.

end()&&

*beg >=0)

運算物件可按任意順序求值

遞增運算子和遞減運算子會改變運算物件的值,所以要提防在復合表示式錯用這兩個運算子。

第四章 表示式

左值,用的是物件的身份 記憶體中的位置 右值,用的是物件的值 解引用生成 左值,取位址生成乙個 右值 bool b true bool c b c為true,因為 bool值在計算的時候被轉換成整型號int,所以b被轉換成 1,不為0,所以賦值給c的時候,為true int b while b ge...

第四章 表示式

這個概念暫時很模糊,打算學完這一章再總結。目前的理解是,左值有名字,可以通過名字訪問記憶體,右值沒有名字,一般是運算的中間結果或者字面值常量等。const修飾的變數是常量左值 如果decltype 函式的括號中表示式結果是左值,則得到乙個引用型別。例如在下面這段 中,b是int型別,c是int 型別...

第四章 學習 表示式

4.1 c 將運算子分為三類 1.一元運算子2.二元運算子 3.三元運算子 4.2 使用初等表示式 是運算子的重要組成部分。幾種不同的初等表示式 1 字面值 在c 中 直接使用硬編碼的值。比如 if firstname brain brain 就輸入直接使用硬編碼 也可以這樣 將其存入某個變數中,然...