C++ Short Hand If Else
Short Hand If...Else (Ternary Operator)
There is also a short-hand if...else, known as the ternary operator because it uses three operands.
The ternary operator returns a value based on a condition: if the condition is true
, it returns the first value; otherwise, it returns the second value.
It can be used to replace multiple lines of code with a single line, and is often used to replace simple if...else
statements:
Syntax
variable = (condition) ? expressionTrue : expressionFalse;
Instead of writing:
Example
int time = 20;
if (time < 18) {
cout << "Good day.";
} else {
cout << "Good evening.";
}
You can simply write:
Example
int time = 20;
string result = (time < 18) ? "Good day." : "Good evening.";
cout << result;
You can also use the ternary operator directly inside the cout
statement:
Tip: Use the ternary operator for short and simple conditions. For longer or more complex logic, the regular if...else
statement is easier to read.
Nested Ternary (Optional)
You can nest ternary operators to handle more than two outcomes, but it can make your code harder to read:
Example
int time = 22;
string message = (time < 12) ? "Good morning."
: (time < 18) ? "Good afternoon."
: "Good evening.";
cout << message;
Note: Although nested ternary operators work, it's usually better to use a normal if...else if...else
statement for clarity.