C++ ?:條件操作符
Exp1 ? Exp2 : Exp3;
在這裡,計算Exp1,Exp2和EXP3是表達式。注意冒號使用和放置。 a的值?表達是確定這樣的:計算Exp1評估計算。如果這是真的,那麼Exp2後進行評估計算,並成為整個值。?表達式。如果計算Exp1是假的,那麼EXP3評價和它的值變為表達式的值。
? 稱為三元運算,因為它需要三個操作數,並且可以用來代替if-else語句,它具有下列形式:
if(condition){ var = X; }else{ var = Y; }
例如,請考慮下麵的代碼:
if(y < 10){ var = 30; }else{ var = 40; }
上麵的代碼可以寫成這樣:
var = (y < 10) ? 30 : 40;
這裡,x被賦值為30,如果y小於10,如果它不是則賦值為40。可以試試下麵的例子:
#include <iostream> using namespace std; int main () { // Local variable declaration: int x, y = 10; x = (y < 10) ? 30 : 40; cout << "value of x: " << x << endl; return 0; }
當上述代碼被編譯和執行時,它產生了以下結果:
value of x: 40