C++ Tricks 1.1 條件運算符(?:)

farseerfc.wordpress.com 導入

1.1   條件運算符(?:)

條件運算符(?:)是C++中唯一的三目運算符(trinary operator),用於在表達式中作條件判斷,通常可以替換if語句,與Visual Basic中的iif函數、Excel中的if函數有同樣的作用。語法形式如下:

condition ? true_value : false_value

其中 condition *條件是任何可以轉換爲bool類型的表達式,包括但不僅限於**bool* int 、指針。與 if while 的條件部分稍顯不同的是,這裏不能定義變量,否則會導致語法錯誤。

另外,條件語句會切實地控制執行流程,而不僅僅是控制返回值。也就是說,兩個返回值表達式中永遠只有一個會被求值,在表達式的執行順序很重要時,這點尤爲值得注意。比如:

int *pi=getInt();

int i=pi …