I am a complete beginner in C++. i recently came across a piece of code. I don't seem  to understand the use of ? and :. can anyone tell me how it works? why we use ? and :
CODE
(j==1 or i==s)?(cout<<"* "):((j==i)?(cout<<" *"):(cout<<"  "));
I am a complete beginner in C++. i recently came across a piece of code. I don't seem  to understand the use of ? and :. can anyone tell me how it works? why we use ? and :
CODE
(j==1 or i==s)?(cout<<"* "):((j==i)?(cout<<" *"):(cout<<"  "));
 
    
    It is a ternary operator. The conditional operator is kind of similar to the if-else statement as it does follow the same algorithm as of if-else statement but the conditional operator takes less space and helps to write the if-else statements in the shortest way possible.
Syntax: The conditional operator is of the form.
variable = Expression1 ? Expression2 : Expression3
It can be visualized into if-else statement as:
if(Expression1)
{
  variable = Expression2;
}
else
{
  variable = Expression3;
}
 
    
    Ternary operator
A ternary operator evaluates the test condition and executes a block of code based on the result of the condition.
Its syntax is:
condition ? expression1 : expression2;
Here, condition is evaluated and
if condition is true, expression1 is executed.
And, if condition is false, expression2 is executed.
You can find a example here https://www.programiz.com/cpp-programming/ternary-operator
 
    
    It is a short circuit test condition if/else, then put the assign value.
void Main()
{
    // ****** Example 1: if/else 
    string result = "";
    int age = 10;
    if(age > 18) 
    {
        result = "You can start college";
    } else 
    {
        result = "You are not ready for college";
    }
    // ****** Example 2: if/else with short circuit test condition
    result = (age > 18) ? "You can start college" : "You are not ready for college";
    
}
