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 …