bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/C++/C++ Tutorial
C++•C++ Tutorial

C++ Short Hand If Else

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind C++ Short Hand If Else?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ = ( condition ) ? expressionTrue
3Order

Put the learning moves in the order that makes the concept easiest to apply.

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.
There is also a short-hand if.
Short Hand If...Else (Ternary Operator)

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 ;

Example

int time = 20;
if (time < 18) {
  cout << "Good day.";
} else {
cout << "Good evening.";
}

Example

int time = 20;
string result = (time < 18) ? "Good day." : "Good evening.";
cout << result;

You can simply write

You can also use the ternary operator directly inside the cout statement:

Example

int time = 20;
cout << ((time < 18) ? "Good day." : "Good evening.");

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

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.

Previous

C++ Else If

Next

C++ Nested If