C ++ operatora warunkowego ?:
Exp1 ? Exp2 : Exp3;
Którym EXP1, EXP2 i ekspresja Exp3. Należy zwrócić uwagę na stosowanie okrężnicy i lokalizacji. ?: Ekspresja zależy od wartości wyniku obliczeń EXP1. Jeśli EXP1 prawda, to obliczona wartość EXP2 Wyniki obliczeń i porównano całą EXP2 :? ekspresyjnych. Jeśli EXP1 jest fałszywa, wartość Exp3 i porównano z wynikami Exp3 cały :? ekspresyjnych.
? Nazywa operator trójskładnikowy ponieważ wymaga trzech argumentów, jak przedstawiono poniżej, można stosować zamiast ELSE IF:
if(condition){ var = X; }else{ var = Y; }
Rozważmy na przykład następujący kod:
if(y < 10){ var = 30; }else{ var = 40; }
Powyższy kod może być napisany w następującym stwierdzeniem:
var = (y < 10) ? 30 : 40;
Tutaj, jeśli Y jest mniejszy niż 10, a następnie var przypisany 30, jeśli Y jest nie mniejsza niż 10, wówczas zmienna jest przypisana 40. Rozważmy następujące przykłady:
#include <iostream> using namespace std; int main () { // 局部变量声明 int x, y = 10; x = (y < 10) ? 30 : 40; cout << "value of x: " << x << endl; return 0; }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
value of x: 40