c 中的運算子「 ? 」

2021-09-13 03:47:10 字數 442 閱讀 6267

三目運算子是?:結構的運算

所謂三目就是需要三個變數對能進行運算的操作

舉個例子:

2>1?a:b

答案就是a

先算「?」前面的,若前面成立就執行:前面的(a),反之就執行後面的(b)

再舉個簡單的例子:

a=2>1?3:4

可分成幾個部分,用括號分開:

(a=)(2>1)?(3):(4)

最左邊是賦值操作

第二個部分是乙個判斷

第三和第四部分是兩個常數

首先判斷第三部分是否成立,成立即選擇第三部分,否則選擇第四部分

像上面那個2>1成立,所以就執行了a=3

這種運算還可以巢狀

比如判斷year是不是閏年,是則返回1,不是返回0

year=(year%1000)?(year%4000?1:0):(year%4==0?1:0)

C 中 運算子 和 運算子

運算子定義在將可空型別分配給非可空型別時返回的預設值。int?c null 若 c 為 null,則 d 為 1,否則把 c 值賦予 d int d c 1 型別名稱後加問號,如 int?i null double?d null bool?b null 可指定可為 null 的 int double...

C 中的 運算子

是運算子中等級最高的,它分為三種 1 global scope 全域性作用域符 用法 name 2 class scope 類作用域符 用法 class name 3 namespace scope 命名空間作用域符 用法 namespace name 他們都是左關聯 left associativ...

C 中的 運算子

原文出處 一兩行以上的成員函式最好被定義在類體之外。這要求乙個特殊的宣告語化來標識一 個函式是乙個類的成員 成員函式名必須被它的類名限定修飾 qualified 也就是告訴編譯器,這個成員函式在我這類的類域內,直到該成員函式結束。by the way,類體就定義了乙個類域,類體外通過 擴充類域吧 比...