C++ 条件运算符 ? :

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

C++ 运算符

其他扩展