What are the most important C++ operators?

C++ operators are essential for programming with C++. Whether you are just beginning to learn C++ or have been working with the programming language for a while, operators can make programming simpler and more efficient. The function of some operators can be deduced from their name, while others may take some time to memorize.

What are C++ operators?

An operator is a sign for an operation, which is applied to at least one operand, but in most cases to several. This results in a new value in most cases. A popular example of these are the arithmetic operators you learn in school, for example, “+” for addition and “-” for subtraction.

C++ operators are not only distinguishable according to their functional purpose. The operator’s arity is also an important criterion:

Arity Number of operands Example
Unary operators One operand Logical negation: !var_name
Binary operators Two operand Addition: value1 + value2
Ternary operators Three operands If-else-condition: condition? condition_true : condition_false

What is operator precedence?

As with arithmetic operators in school or Python operators, there is an operator precedence for C++ operators. This specifies the order in which the operators should be evaluated. The dot before dash rule applies for arithmetic operators, however, there are other rules for other C++ operators.

if (var1 && var2 || var3) {
    do_something();
}
C++

The example above shows the logical expression being evaluated after the if operator. The && operator (logical And) has priority over the || operator (logical Or). So, if the evaluation of “var1 && var2” or the evaluation of “var3” returns “true”, the “do_something()” function call is executed.

You can also use brackets to be on the safe side.

How to overload C++ operators

You can overload most C++ operators. This means that you can assign a new meaning to an existing operator in a context. To perform an operator overload in C++, you need the keyword “operator”. When overloading, this keyword should be put before the C++ operator. Operator overloading in C++ will behave like function overloading.

Tip

Webspace hosting from IONOS is perfect for backing up your C++ projects online. You can install it with just one click.

An overview of C++ operators

Arithmetic operators

You probably already know the arithmetic C++ operators from school. They operate on numbers and return a new number. The arithmetic operators are all binary operators, except for the unary plus and unary minus.

C++ operator Meaning Example
+ Addition / unary plus 6 + 4
- Subtraction / unary minus 10 - 6
* Multiplication 10* 3
/ Integer division 20 / 10
% Modulo 21 % 2

Assignment operators

Similar to other programming languages, values are stored in variables. You need special operators to assign concrete values to these variables.

Simple assignment operators

C++ operator Meaning Example
= Simple assignment x = 3
++ Increment x++
-- Decrement x--

Combined assignment operators

In addition to the simple assignment operators, C++ also supports combined operators. These are arithmetic or bitwise operations which are simultaneously combined with a value assignment:

int x = 4;
x += 2;
C++

The code example above shows that the variable x assigned the numeric value 4 with a simple assignment. The combined assignment operator “+=” is used to perform an arithmetic addition after this and saves the resulting value directly in x. The assignment would be “x = x + 2” after being written out.

C++ operator Meaning Example
+= Addition and assignment x += 2
-= Subtraction and assignment x -= 2
*= Multiplication and assignment x* = 2
/= Division and assignment x /= 2
%= Modulo and assignment x %= 2
&= Bitwise And and assignment b &= 1
<<= Bitshift left and assignment b <<= 1
>>= Bitshift right and assignment b >>= 1
^= Bitwise Xor and assignment b ^= 1
` =` Bitwise Or and assignment

Logical C++ operators

You can use the C++ logical operators for propositional comparisons of two expressions. Logical operators are binary, except for the Logical Not, which only refers to one statement and negates its truth value.

C++ operator Meaning Example
&& Logical And true && true
` `
! Logical Not !true

Comparison operators

Comparison operators are C++ operators that examine the relationship between two elements. They are binary, except for the three-way comparison, which returns a number. The return value of all C++ comparison operators is a truth value.

C++ operator Meaning Example
== Equality a == b
!= Inequality a != b
<= Smaller or equal a <= b
>= Greater or equal a >= b
< Smaller a < b
> Larger a > b
<=> Three-way comparison a <=> b

Bit manipulation

Bitwise C++ operators access individual bits efficiently and improve the speed of programs. They are especially important for performance-oriented programming.

C++ operator Meaning Example
& Bitwise And a & b
` ` Bitwise Or
^ Bitwise Xor a ^ b
~ Bitwise negation ~a
<< Left shift a << b
>> Right shift a >> b

Memory management

C++ is a machine-oriented language and has a several operators for memory management.

C++ operator Meaning Example
& Address determination &x
sizeof() Determines the memory requirement of an expression sizeof(x)
new Creates a new object and returns pointer object* pointer = new object()
delete Destroys an object delete object

Data access for objects and pointers

The following C++ operators will help you access individual members of objects or the memory areas of pointers.

C++ operator Meaning Example
* Dereferencing pointers, returns memory area *pointer = 3;
. Accesses members of an object object.member = 2;
-> Accesses members of an object with a pointer objectpointer->member = 2;
Was this article helpful?
We use cookies on our website to provide you with the best possible user experience. By continuing to use our website or services, you agree to their use. More Information.
Page top