看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《shane123 (家產有八十七億￾  ￾ﰩ》之銘言: : hi, 請問大家一下 : 三元運算子 ?: : 和 if 比較來好處除了明瞭以外 : 速度有比較快嗎? : 我曾在一本書上看到說 : 這樣會比較快一點 : 請問是真的嗎? : thanks~~ 速度有沒有比較快我是不清楚,大概要編成 ASM 來看看。 不過即使快也快不到哪裏去,使用三元運算的目的不在這裏。 對 C 語言來說,三元運算和 if-else 的差別在於前者符合 C 語言的一個特色:強正交性。好處是可以用來精鍊程式碼。 對 C++ 來說,三元運算還有一些特殊用途,關鍵是在: Val = Condition ? A : B; 這樣的敘述中,A 和 B 兩個變量(物件)的型別必須一致,或是 其中一個可以轉型為另一個。利用這個特性,三元運算可以用來 實現「型別推導」的功能。 不過這個細節有點複雜,就不多說了,有興趣的人可去參考以下 這篇文章: http://www.artima.com/cppsource/foreachP.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.214.120
shane123:thanks...原來如此啊..!! 12/18 16:46
bobhsiao:可以進一步說明"強正交性"嗎~^^ 12/19 19:05