C++ 条件运算符 ? :
Exp1 ? Exp2 : Exp3;
ここで、Exp1、Exp2、Exp3 は式です。コロンの使用と位置に注意してください。? : 式の値は Exp1 の評価結果に依存します。Exp1 が真の場合、Exp2 の値が評価され、Exp2 の評価結果が ? : 式全体の値になります。Exp1 が偽の場合、Exp3 の値が評価され、Exp3 の評価結果が ? : 式全体の値になります。
? は三項演算子と呼ばれ、3つのオペランドを必要とするため、以下のような if-else 文の代わりに使用できます:
if(condition){
var = X;
}else{
var = Y;
}
例えば、次のコードを見てください:
if(y < 10){
var = 30;
}else{
var = 40;
}
上記のコードは次の文で書くことができます:
var = (y < 10) ? 30 : 40;
ここで、y が 10 より小さい場合、var には 30 が代入され、y が 10 以上の場合、var には 40 が代入されます。次の例を見てください:
实例
#include <iostream>
using namespace std;
int main ()
{
// 局部变量声明
int x, y = 10;
x = (y < 10) ? 30 : 40;
cout << "value of x: " << x << endl;
return 0;
}
上記のコードをコンパイルして実行すると、次の結果が生成されます:
value of x: 40其他扩展