C 學習筆記二十四 運算子

2021-07-25 19:44:49 字數 837 閱讀 8064

條件運算子(?:)常被用來代替if else語句,它是c++唯一乙個需要3個運算元的運算子。該運算子的通用格式如下:

expression1 ? expression2 : expression3
如果expression1為true,則整個表示式的值為expression2的值;否則,整個表示式的值為expression3的值。

下面兩個示例演示了該運算子是如何工作的:

5>3 ? 10 : 12

//5>3為true,所以表示式的值為10

3 == 9 ? 25: 18

//3 == 9為假,所以表示式的值為18

程式6.9

#include

int main()

與if else語句相比,條件運算子更簡潔。這兩種方法之間的區別是:條件運算子生成乙個表示式,因此是乙個值,可以將其賦給變數或將其放大乙個更大的表示式中。

乙個技巧是將條件表示式巢狀在另乙個條件表示式中:

const char x[2][20] = ;

const char * y = "quillstone ";

for (int i = 0; i < 3; i++)

cout

<

< 2) ? !i ? x[i] :

y:x[1]);

這是一種費解的方式,他按下面的順序列印3個字串:

jason quillstone at your service

C 學習筆記(二十四)迭代器

迭代器 迭代器是自動生成可列舉型別和列舉數的結構。1.迭代器塊 迭代器塊是有乙個或多個yield語句的 塊。方法主體 訪問器主體 運算子主體都可以是迭代器塊。迭代器塊不需要同一時間內執行一串行的命令式語句,而是描述編譯器建立列舉數類的行為。yield return 語句執行了序列中返回的下一項。yi...

CUDA學習(二十四)

共享記憶體的影響 共享記憶體在多 種情況下可能會有所幫助,例如幫助合併或消除對全域性記憶體的冗餘訪問。但是,它也可以作為占用限制。在許多情況下,核心所需的共享記憶體量與所選塊的大小有關,但執行緒與共享記憶體元素的對映不需要是一對一的。例如,可能需要在核心中使用32x32元素共享記憶體陣列,但由於每塊...

C 回顧學習筆記二十四 命名空間

從我們開啟vs軟體,開啟控制台程式並開始寫 時,命名空間就開始在發揮作用了。在 的最上方可以看到很多using語句,那就是引用了命名空間。引用命名空間的格式是 using 命名空間名字 這樣就可以在程式中直接用命名空間的型別,而不必指定型別的詳細命名空間。using system 通常都會出現在.c...