第四章 4 7 條件運算子

2021-07-16 22:19:07 字數 1015 閱讀 4457

4.21 編寫一段程式,使用條件運算子從vector< int > 中找到哪些元素的值是奇數,然後將這些奇數的值翻倍。

0;}ifelse更容易理解,條件運算子更簡潔。

4.23修改語句

string s = "word";

string p1 = s + s[s.size() - 1] == 's' ? "" : "s";//err +優先順序高於==

string p1 = s + (s[s.size() - 1] == 's' ? "" : "s");//p1 = 「words」

4.24本節的示例程式是將成績劃分成high pass、pass和fail三種,它的依據是條件運算子滿足右結合律。假如條件運算子滿足的是左結合律,求值過程是怎樣的?

先判斷grade < 60,false再判斷grade > 90;

第四章 表示式 4 7 條件運算子

條件運算子?允許把簡單的if else邏輯嵌入到單個表示式中,條件運算子按照如下形式使用 cond expr1 expr2 其中cond是判斷條件的表示式,而expr1和expr2是兩個型別相同或可能轉換為某個公共型別的表示式。條件運算子的執行過程 求cond的值 如果條件為真對expr1求值並返回...

第四章 運算子過載

目錄定義 重新定義運算子的運算 實質是函式過載,把含有運算子的表示式轉換成對運算子函式的呼叫 可以過載為普通函式 成員函式 友元函式 多次過載時,根據實參型別決定呼叫哪個運算子函式 等號只能過載為成員函式 賦值語句和初始化語句的等號 含義不同,初始化語句需要用建構函式實現 同類賦值注意點 可能包含指...

第四章 運算子的本質

陣列是存在於人們頭腦中的乙個邏輯概念,而編譯器其實並不知道有陣列這個東西,它所知道的,只是運算子,當遇到運算子的時候,編譯器只是簡單地把它轉換為類似 a i j 這樣的等價表示式,之所以是這種表示式,如前幾章所述,是因為c語言的陣列實現本質上是陣列的巢狀。由於這種等價關係的存在,會產生一些古零精怪的...