C ++ operator kondisional ?:
Exp1 ? Exp2 : Exp3;
Dimana, exp1, exp2 dan ekspresi exp3. Harap dicatat penggunaan usus besar dan lokasi. ?: Ekspresi tergantung pada nilai hasil perhitungan exp1. Jika exp1 adalah benar, maka nilai exp2 hasil perhitungan dihitung dan dibandingkan seluruh exp2 :? Expression. Jika exp1 adalah palsu, nilai exp3 dihitung dan dibandingkan dengan hasil exp3 seluruh :? Expression.
? Apakah yang disebut operator ternary karena memerlukan tiga operan, seperti yang ditunjukkan di bawah ini dapat digunakan sebagai pengganti dari pernyataan jika-lain:
if(condition){ var = X; }else{ var = Y; }
Sebagai contoh, perhatikan kode berikut:
if(y < 10){ var = 30; }else{ var = 40; }
Kode di atas dapat ditulis dalam pernyataan berikut:
var = (y < 10) ? 30 : 40;
Di sini, jika y adalah kurang dari 10, maka var ditugaskan 30, jika y tidak kurang dari 10, maka var ditugaskan 40. Perhatikan contoh berikut:
#include <iostream> using namespace std; int main () { // 局部变量声明 int x, y = 10; x = (y < 10) ? 30 : 40; cout << "value of x: " << x << endl; return 0; }
Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:
value of x: 40