Comparison operators allow us to compare two values and determine if they are equal, different, greater, less, greater/equal, or less/equal.
The results of the comparisons are boolean values (true
or false
), and are fundamental for flow control logic.
Comparison operators in C++ are:
==
(Equality): Returns true if two values are equal.!=
(Inequality): Returns true if two values are not equal.>
(Greater than): Returns true if the value on the left is greater than the value on the right.<
(Less than): Returns true if the value on the left is less than the value on the right.>=
(Greater than or equal to): Returns true if the value on the left is greater than or equal to the value on the right.<=
(Less than or equal to): Returns true if the value on the left is less than or equal to the value on the right.
These operators are fundamental for decision-making in programs and are commonly used in control structures such as conditionals or loops.
More information about comparison operators read more ⯈
List of Comparison Operators
Equality (==
)
The equality operator (==
) is used to check if two values are equal. It compares two values and returns true
if they are equal, or false
otherwise.
For example:
int a = 5;
int b = 5;
bool isEqual = (a == b); // true, since a and b are equal
Inequality (!=
)
The inequality operator (!=
) is used to check if two values are not equal. It compares two values and returns true
if they are different, or false
otherwise.
For example:
int a = 5;
int b = 3;
bool isNotEqual = (a != b); // true, since a is not equal to b
Greater than (>
)
The greater than operator (>
) is used to check if a value is greater than another.
int a = 10;
int b = 5;
bool isGreater = (a > b); // true, since a is greater than b
Less than (<
)
The less than operator (<
) is used to check if a value is less than another.
int a = 3;
int b = 7;
bool isLess = (a < b); // true, since a is less than b
Greater than or Equal to (>=
)
The greater than or equal to operator (>=
) is used to check if a value is greater than or equal to another.
int a = 10;
int b = 10;
bool isGreaterOrEqual = (a >= b); // true, since a is equal to b
Less than or Equal to (<=
)
The less than or equal to operator (<=
) is used to check if a value is less than or equal to another.
int a = 5;
int b = 7;
bool isLessOrEqual = (a <= b); // true, since a is less than b
Usage Examples
Variable Comparison
Comparison operators are commonly used in control structures to make decisions based on variable comparisons.
int age = 20;
if (age >= 18) {
std::cout << "You are of legal age." << std::endl;
} else {
std::cout << "You are under age." << std::endl;
}
Use in Loops
Comparison operators are also used in loops to control the number of iterations.
for (int i = 0; i < 10; ++i) {
std::cout << "Number: " << i << std::endl;
}
Complex Comparisons
It is possible to combine multiple comparison operators to create more complex conditions.
int a = 5;
int b = 10;
int c = 5;
bool result = (a < b) && (a == c); // true, since a is less than b and a is equal to c
Comparison operators are used to compare two values and determine if a statement is true or false.
In C++, the results of these comparisons are boolean values, i.e., true
or false
.
List of Comparison Operators in C++
Operator | Description | Example |
---|---|---|
== | Equal to | x == y |
!= | Not equal to | x != y |
> | Greater than | x > y |
< | Less than | x < y |
>= | Greater than or equal to | x >= y |
<= | Less than or equal to | x <= y |
Usage of Comparison Operators
Equality and Inequality
The ==
and !=
operators are used to compare if two values are equal or different respectively. Here’s an example:
int a = 5;
int b = 3;
bool equal = a == b; // equal will contain the value false
bool different = a != b; // different will contain the value true
Numeric Relations
The <
, >
, <=
, and >=
operators are used to compare numeric relations between values. For example:
int x = 10;
int y = 8;
bool less = x < y; // less will contain the value false
bool greater = x > y; // greater will contain the value true
bool lessOrEqual = x <= y; // lessOrEqual will contain the value false
bool greaterOrEqual = x >= y; // greaterOrEqual will contain the value true
Usage Example
Suppose you are developing a program that checks if a user is eligible to vote based on their age. Here’s an example of how you could use comparison operators in C++:
#include <iostream>
using namespace std;
int main() {
int userAge;
cout << "Enter your age: ";
cin >> userAge;
if (userAge >= 18) {
cout << "You are eligible to vote!" << endl;
} else {
cout << "You are not eligible to vote." << endl;
}
return 0;
}
In this example, we use the >=
operator to compare the age entered by the user with the value 18
. If the age is greater than or equal to 18
, the program displays a message indicating that the user is eligible to vote; otherwise, it displays a message indicating the opposite.
Spaceship Operator <=> ⋆
C++20 provides the three-way comparison operator <=>, also called the spaceship operator, which allows comparing two objects in a similar way of strcmp.
The operator returns an object that can be directly compared with a positive, 0, or negative integer value
(3 <=> 3) == 0; // true
(3 <=> 5) == 0; // false
('a' <=> 'a') == 0; // true
(3 <=> 5) > 0; // false
(3 <=> 5) < 0; // true
(7 <=> 5) > 0; // true
(7 <=> 5) < 0; // false