I C++ er ternær eller betinget operatør (? :) er den korteste form for at skrive betingede udsagn. Det kan bruges som en inline betinget sætning i stedet for if-else til at udføre en betinget kode.
Syntaks for ternær operatør (? :)
Syntaksen for den ternære (eller betingede) operator er:
expression ? statement_1 : statement_2;>
Som navnet antyder, arbejder den ternære operator på tre operander hvor
arrays java
- udtryk: Tilstand skal vurderes.
- erklæring_1 : Udsagn, der vil blive udført, hvis udtrykket evalueres til sandt.
- statement_2: Kode, der skal udføres, hvis udtrykket evalueres til falsk.
// billede
Ovenstående erklæring fra den ternære operatør svarer til if-else erklæringen nedenfor:
if ( condition ) { statement1; } else { statement2; }> Eksempel på ternær operatør i C++
C++
// C++ program to illustrate the use of ternary operator> #include> using> namespace> std;> > int> main()> {> > >// creating a variable> >int> num, test = 40;> > >// assigning the value of num based on the value of test> >// variable> >num = test <10 ? 10 : test + 10;> > >printf>(>'Num - Test = %d'>, num - test);> > >return> 0;> }> |
arp-a kommando
>
>Produktion
Num - Test = 10>
I ovenstående kode har vi brugt den ternære operator til at tildele værdien af variablen på en afhængig af værdien af en anden variabel navngivet prøve.
Bemærk: Den ternære operator har den tredje laveste prioritet, så vi er nødt til at bruge udtrykkene, så vi kan undgå fejl på grund af forkert styring af operatørprioritet.
C++ indlejret ternær operatør
En indlejret ternær operator er defineret som at bruge en ternær operator inde i en anden ternær operator. Ligesom if-else-sætninger kan den ternære operator også være indlejret i hinanden.
Eksempel på Nesting Ternary Operator i C++
I nedenstående kode finder vi det største af tre tal ved hjælp af den indlejrede ternære operator.
C++
sonu nigam
// C++ program to find the largest of the three number using> // ternary operator> #include> using> namespace> std;> > int> main()> {> > >// Initialize variable> >int> A = 39, B = 10, C = 23;> > >// Evaluate largest of three using ternary operator> >int> maxNum> >= (A>B) ? ((A> C) A: C): ((B> C) A B: C);> > >cout <<>'Largest number is '> << maxNum << endl;> > >return> 0;> }> |
>
>Produktion
Largest number is 39>
Som vi kan se, er det muligt at indlejre ternære operatorer i hinanden, men koden bliver kompleks at læse og forstå. Så det er generelt undgået at bruge indlejrede ternære operatorer.
Bourne igen shell
Desuden bør den ternære operator kun bruges til kort betinget kode. For større kode bør de andre betingede udsagn foretrækkes.