C++Booleans
C++ Booleans
Very often, in programming, you will need a data type that can only have one of two values, like:
- YES / NO
- ON / OFF
- TRUE / FALSE
For this, C++ has abool data type, which can take the valuestrue (1) orfalse (0).
Boolean Values
A boolean variable is declared with thebool keyword and can take the valuestrue orfalse:
Example
bool isCodingFun = true;bool isFishTasty = false;cout << isCodingFun << "\n"; // Outputs 1 (true)cout << isFishTasty << "\n"; // Outputs 0 (false)Try it Yourself »From the example above, you can read that atrue value returns1, andfalse returns0.
Printing true/false Withboolalpha
If you prefer to printtrue andfalse as words instead of1 and0, you can use theboolalpha manipulator:
Example
bool isCodingFun = true;bool isFishTasty = false;cout << boolalpha; // enable printing "true"/"false"cout << isCodingFun << "\n"; // Outputs truecout << isFishTasty << "\n"; // Outputs falseTry it Yourself »Note:boolalpha is not a data type. It is anI/O manipulator - a setting that changes howcout displays boolean values. When you use it, you are tellingcout: "From now on, print booleans astrue andfalse instead of1 and0."
Resetting Back Withnoboolalpha
If you want to go back to the default behavior (printing1 and0), you can usenoboolalpha:
Example
bool isCodingFun = true;cout << boolalpha; // print as true/falsecout << isCodingFun << "\n"; // Outputs truecout << noboolalpha; // reset to 1/0cout << isCodingFun << "\n"; // Outputs 1Try it Yourself »Note: It is up to you whether you prefer the default1 and0, or the wordstrue andfalse. Both are correct in C++, and you can switch between them usingboolalpha andnoboolalpha.
Tip: You can read more aboutcout and its manipulators in ourC++ cout object reference.
In the examples above we used fixed boolean values. But in real programs, boolean values are usually the result of comparing values or variables, which you will learn more about in thenext chapter.

