bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/C++/C++ Tutorial
C++•C++ Tutorial

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 ;

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

This chapter

Overview
64

Lessons

138m

Read time

1. C++ Tutorial2. C++ Introduction3. C++ Getting Started4. C++ Syntax5. C++ Statements6. C++ Output (Print Text)7. C++ Output Numbers8. C++ New Lines9. C++ Comments10. C++ Variables11. C++ Declare Multiple Variables12. C++ Identifiers13. C++ Constants14. C++ User Input15. C++ Data Types16. C++ Numeric Data Types17. C++ Boolean Data Types18. C++ Character Data Types19. C++ String Data Types20. C++ auto21. C++ Operators22. C++ Arithmetic Operators23. C++ Assignment Operators24. C++ Comparison Operators25. C++ Logical Operators26. C++ Operator Precedence27. C++ Strings28. C++ String Concatenation29. C++ Numbers and Strings30. C++ String Length31. C++ Access Strings32. C++ Special Characters33. C++ User Input Strings34. C++ String Namespace35. C++ C-Style Strings36. C++ Math37. C++ Booleans38. C++ Boolean Expressions39. C++ If ... Else40. C++ Else41. C++ Else If42. C++ Short Hand If Else43. C++ Nested If44. C++ Logical Operators in Conditions45. C++ Switch46. C++ While Loop47. C++ Do/While Loop48. C++ For Loop49. C++ Nested Loops50. C++ The foreach Loop51. C++ Break and Continue52. C++ Arrays53. C++ Arrays and Loops54. C++ Omit Array Size55. C++ Array Size56. C++ Multi-Dimensional Arrays57. C++ Structures (struct)58. C++ Enumeration (enum)59. C++ Memory Address60. C++ Pointers61. C++ Dereference62. C++ Modify Pointers63. C++ Memory Management64. C++ new and delete

On this page

Short Hand If...Else (Ternary Operator)Nested Ternary