C++ Conditional ? : Operator

Exp1 ? Exp2 : Exp3;

where Exp1, Exp2, and Exp3 are expressions. Notice the use and placement of the colon. The value of a ? expression is determined like this: Exp1 is evaluated. If it is true, then Exp2 is evaluated and becomes the value of the entire ? expression. If Exp1 is false, then Exp3 is evaluated and its value becomes the value of the expression.

The ? is called a ternary operator because it requires three operands and can be used to replace if-else statements, which have the following form −

if(condition){
   var = X;}else{
   var = Y;}

For example, consider the following code −

if(y <10){ 
   var =30;}else{
   var =40;}

Above code can be rewritten like this −

var =(y <10)?30:40;

Here, x is assigned the value of 30 if y is less than 10 and 40 if it is not. You can the try following example −

#include <iostream>usingnamespace std;intmain(){// Local variable declaration:int x, y =10;

   x =(y <10)?30:40;
   cout <<"value of x: "<< x << endl;return0;}

When the above code is compiled and executed, it produces the following result −

value of x: 40

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *