Types of operators in C++
Different types of operators are available in C++ as listed below. Arithmetic Operator, Relational Operators, Logical Operators and Assignment Operator.
Operator in any computer language works like a command or statement to tell the computer that what kind of action is required to be performed. The data on which action is performed by the operators is called operands. Some operators work on single operand and are called unary operators. Most of the operators need two operands to work on and are called binary operators. There is only one ternary operator in C++ which needs three operands.
Types of Operators in C++
Different types of operators are available in C++ as listed below.
 Arithmetic Operator
 Relational Operators
 Logical Operators
 Assignment Operator
 Arithmetic Assignment Operators
 Increment/Decrement Operators
 Bitwise Operators
 Ternary Operator
 Special Operators (Comma, SizeOf)
Arithmetic Operators
All the arithmetic operators are binary operators having two operands. They arithmetically calculate a value and return the result. 

Operators  Description  Examples 
+  Used to arithmetically calculate sum of two values.  a+b
if a=15 and b=2 then the result of above expression is 17 
  Used to arithmetically calculate difference of two values.  ab
if a=15 and b=2 then the result of above expression is 13 
*  Used to arithmetically calculate product of two values.  a*b
if a=15 and b=2 then the result of above expression is 30 
/  Used to arithmetically divide one value by another and produces the quotient  a/b
if a=15.0 and b=2.0 then the result of above expression is 7.5 
%  Used to arithmetically divide one value by another and produces the remainder. It is also called modulus operator and must have whole numbers as operands.  a%b
if a=15 and b=2 then the result of above expression is 1 
Relational Operators
All the relational operators are binary operators having two operands. They compare the numeric value at the left hand side with the value at the right hand side and return true or false. In C++, 0 is represented as false and any nonzero value is considered as true but usually 1 is used as true. 

Operators  Description  Examples 
<
Less than 
Checks whether the value at left hand side is less than or not from the value at the right hand side.  a<b
if a=15 and b=2 then the result of above expression is 0 (false)
if a=2 and b=2 then the result of above expression is 0 (false)
if a=15 and b=22 then the result of above expression is 1 (true) 
>
Greater than 
Checks whether the value at left hand side is greater than or not from the value at the right hand side.  a>b
if a=15 and b=2 then the result of above expression is 1 (true)
if a=2 and b=2 then the result of above expression is 0 (false)
if a=15 and b=22 then the result of above expression is 0 (false) 
<=
Less than or equal to 
Checks whether the value at left hand side is less than or equal to the value at the right hand side or not.  a<=b
if a=15 and b=2 then the result of above expression is 0 (false)
if a=2 and b=2 then the result of above expression is 1 (true)
if a=15 and b=22 then the result of above expression is 1 (true) 
>=
Greater than or equal to 
Checks whether the value at left hand side is greater than or equal to the value at the right hand side or not.  a>=b
if a=15 and b=2 then the result of above expression is 1 (true)
if a=2 and b=2 then the result of above expression is 1 (true)
if a=15 and b=22 then the result of above expression is 0 (false) 
==
Equal to 
Checks whether the value at left hand side is equal to the value at right hand side or not.  a==b
if a=2 and b=2 then the result of above expression is 1 (true) otherwise 0 (false)

!=
Not equal to 
Checks whether the value at left hand side is equal to the value at right hand side or not.  a!=b
if a=2 and b=2 then the result of above expression is 0 (false) otherwise 1 (true)

Logical Operators
These operators are used to form a complex expression comprising one or more logical expressions. Like relational operators, logical operators also return either true (1) or false (0) result. 

Operators  Description  Examples 
&&
AND 
Used to combine two or more relational expressions to form a single expression. It will return 1 (true) if all the conditions are true otherwise 0 (false).  a>b)&&(a>c)
if a=15, b=2 and c=10, then the result of above expression is 1 (true)
a>b)&&(a>c)&&(c>d) if a=15, b=2 , c=10 and d=20, then the result of above expression is 0 (false)


OR 
Used to combine two or more relational expressions to form a single expression. It will return 1 (true) if any of the given conditions is true otherwise 0 (false).  a>b)(a>c)
if a=15, b=2 and c=20, then the result of above expression is 1 (true)
a>b)(a>c) if a=1, b=2 and c=3 then the result of above expression is 0 (false) as all the conditions are false

!
NOT 
Used to negate the value of another expression. If the result is true then it will convert it into false and vice versa.  !(a>b)
if a=15, b=2 , then the result of above expression is 0 (false)

Assignment Operator
This is a binary operator used to assign a value to a variable. The value to be assigned is written on its right side and the variable to which value is assigned is written on its left side 

Operators  Description  Examples 
=
Equal to 
This is a binary operator used to assign a value at the right hand side to the variable at the left hand.  int x=10;
This will assign 10 to an integer variable ‘x’.
int a=10, b=20; int c=a+b; This will assign 30 to an integer variable ‘c’. 
Arithmetic Assignment Operators
As the name suggests, these operators first arithmetically calculate a result and then assign to a variable at their left hand side. 

Operators  Description  Examples 
+=  Used to add the value at right side to the existing value of the variable at left hand side and assign the result to the variable at the left hand side.  int x=10;
x+=100; This will add 100 to the existing value of x (i.e. 10) and assign the result (i.e. 110) to x. It is equal to the following statement.
x=x+100; 
=  Used to subtract the value at right side from the existing value of the variable at left hand side and assign the result to the variable at the left hand side.  int x=100;
x=10; This will subtract 10 from the existing value of x (i.e. 100) and assign the result (i.e. 90) to x. It is equal to the following statement.
x=x10; 
*=  Used to multiply the value at right side to the existing value of the variable at left hand side and assign the result to the variable at the left hand side.  int x=100;
x*=2; This will multiply 2 to the existing value of x (i.e. 100) and assign the result (i.e. 200) to x. It is equal to the following statement.
x=x*2; 
/=  Used to divide the existing value of the variable at left hand side by the value at the right hand side and assign the result to the variable at the left hand side.  int x=100.0;
x/=2; This will divide 100 by 2 and assign the result (i.e. 50) to x. It is equal to the following statement.
x=x/2; 
%=  Used to divide the existing value of the variable at left hand side by the value at the right hand side and assign the remainder to the variable at the left hand side.  int x=9;
x%=2; This will divide 9 by 2 and assign the remainder (i.e. 1) to x. It is equal to the following statement.
x=x%2; 
Increment/Decrement Operators
These are unary operators used to add or subtract 1 to/from the current value of a numeric variable and store the result in the same variable. 

Operators  Description  Examples 
++
Increment by 1 
Used to increment the current value of a variable by 1.  int x=10;
x++; or ++x; This will add 1 to the current value of x (i.e. 10) and store the result (i.e. 11) back to x. It is equal to the following statement.
x=x+1; 
–
Decrement by 1 
Used to decrement the current value of a variable by 1.  int x=10;
x–; or –x; This will subtract 1 from the current value of x (i.e. 10) and store the result (i.e. 9) back to x. It is equal to the following statement.
x=x1; 
Bitwise Operators
These operators allow us to compare the bits of two values. 

Operators  Description  Examples 
&
Bitwise AND 
Performs the logical AND operation on every bit of both the operands.  If the binary value of first operand is 01001000 and the binary value of second operand is 10001000, then
01001000 & 10001000 ———— 00001000 

Bitwise OR 
Performs the logical OR operation on every bit of both the operands.  If the binary value of first operand is 01001000 and the binary value of second operand is 10001000, then
01001000  10001000 ———— 11001000 
~
Bitwise NOT 
Converts every bit of its operand to the opposite bit  If the binary value of the operand is 01001000, then
~01001000 means 10110111 
^
Bitwise XOR 
Performs the logical XOR operation on every bit of both the operands. Used to add the corresponding bits and returns 0 if both the bits are same and returns 1 if they are opposite.  If the binary value of first operand is 01001000 and the binary value of second operand is 10001000, then
01001000 ^ 10001000 ———— 11000000 
<<
Bitwise Left Shift 
It is a unary operator used to shift specified number of bits at left  If the binary value of the operand is 01001000 then 01001000<<2 means that every bit will be shifted two places at the left and two 0s will be padded at the right. The result will be as below
00100000 
>>
Bitwise Right Shift 
It is a unary operator used to shift specified number of bits at right  If the binary value of the operand is 01001000 then 01001000>>2 means that every bit will be shifted two places at the right and two 0s will be padded at the left. The result will be as below
00010010 
Ternary Operator
This is called ternary operator as it has three operands. This is short form of ifelse statement. We will discuss ifelse statement in detail with examples later in this tutorial. 

Operators  Description  Examples 
?:  Short for ifelse statement.  int x=10;
int y=20; (x>y)?cout<<x:cout<<y;
First x>y condition is checked, if true then the value of x will be displayed otherwise the value of y is displayed. As x is not greater than y so the value of y (i.e. 20) will be displayed. 
Special Operators
C++ has some special operators to perform some specific tasks as given below. 

Operators  Description  Examples 
,
Comma 
Comma (,) operator is used for two purposes.

Example 1:
int a, b, c;
Example 1:
int a, b, c; c=(a=10, b=20, a+b);
The above code is equivalent to below. int a, b, c; a=10; b=20; c=a+b;

sizeof

This is a unary operator used to check the size of the operand in number of bytes  int a;
cout<<sizeof(a); or cout<<sizeof(int);
Returns the size of int data type.

More Related Articles For You
 What is C++
 C++ and Object Oriented Programming OOPS concepts
 Syntax and Structure of C++ program
 Data Types in C++
 C++ Variables
 Decision making in C++
 C++ Loop Types
 Storage Classes in C++
 Functions in C++
 Classes and Objects in C++
 Access controls in C++ Classes
 Defining Class and Object in C++
 Accessing Public and Private Data Members in C++
 Member Functions in Classes
 Types of Member Functions in C++
 Inline Functions in C++
 Namespaces in C++
 Function Overloading in Classes in C++
 Constructors and Destructors in C++
 Static Keywords in C++
 Const Keyword in C++ Programming
 References in C++
 Copy Constructor in C++
 Pointer to Members in C++ Classes
 Introduction to Inheritance
 Types of Inheritance
 Order of Constructor Call in Inheritance
 Upcasting in C++
 Function Overriding in C++
 Virtual Functions in C++
 Abstract Class and Pure Virtual Functions in C++
 Virtual Destructors in C++
 Operator Overloading in C++
C++ Tutorial
C++ Quizzes
Follow Us